1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
const people = [
{
name: "Wes",
year: 1988
},
{
name: "Kait",
year: 1986
},
{
name: "Irv",
year: 1970
},
{
name: "Lux",
year: 2015
}
];

const comments = [
{
text: "Love this!",
id: 523423
},
{
text: "Super good",
id: 823423
},
{
text: "You are the best",
id: 2039842
},
{
text: "Ramen is my fav food ever",
id: 123523
},
{
text: "Nice Nice Nice!",
id: 542328
}
];

some는 predicate을 인수로 받아서, 조건을 만족하는 요소가 하나라도 있는지 판별후, true, false 반환
(현재 요소, 인덱스, 배열)

Date.prototype.getFullYear()
주어진 날짜의 연도(4자리 수)를 현지 시간에 맞춰 반환합니다.

1
2
3
4
5
6
7
8
9
// Original
// 19살보다 많은지 판별
const isAdult = people.some(function(person) {
// 금년도 날짜
const currentYear = new Date().getFullYear();
if (currentYear - person.year >= 19) {
return true;
}
});
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// 화살표함수로
const isAdult = people.some(person => {
const currentYear = new Date().getFullYear();
return currentYear - person.year >= 19;
});

console.log({ isAdult });

// 더 짧게 화살표함수로
const isAdult = people.some(
person => new Date().getFullYear() - person.year >= 19
);

console.log({ isAdult }); // true

every모든 요소가 조건을 만족하는 지 검사

1
2
3
4
5
6
// 모든 사람
const allAdults = people.every(
person => new Date().getFullYear() - person.year >= 19
);

console.log({ allAdults }); // false

find 특정 조건을 만족하는 요소를 찾을 수 있습니다.
조건을 찾으면 요소를 반환
조건을 찾지 못하면 undefined

1
2
3
const comment = comments.find(comment => comment.id === 823423);

console.log(comment); // id: 823423 인 객체 반환

findIndex 메소드를 사용하면 특정 조건을 만족하는 요소를 찾을 수 있습니다.
조건을 찾으면 요소의 인덱스를 반환
조건을 찾지 못하면 -1

1
2
3
const index = comments.findIndex(comment => comment.id === 823423);

console.log(index); // 1

splice 메소드나는 바꿔치기를 통해 제거된 요소들을 반환합니다.

1
2
const newComments = [...comments.slice(0, index), ...comments.slice(index + 1)];
console.log(newComments); //