DevSSOM
JavaScript - 배열에서 조건을 만족하는 값 찾기 find, findIndex, filter 본문
반응형
arr.find(fn)
- 배열을 하나하나 훑으면서 전달된 콜백 함수가 true가 되면, 해당하는 첫번째 요소를 반환.
- 만약 찾지 못하면, undefined를 리턴.
arr.findIndex(fn)
- 콜백 함수가 true가 되면, 해당하는 첫번째 요소의 인덱스를 반환. 없으면 -1을 반환.
arr.filter(fn)
- 콜백 함수가 만족하는 모든 요소를 배열로 반환.
let arr = [1, 2, 3, 4, 5];
// find를 쓸 경우
const result = arr.find((item) => {
return item % 2 === 0;
});
console.log(result); // 2
// findIndex를 쓸 경우
const result = arr.findIndex((item) => {
return item % 2 === 0;
});
console.log(result); // 1
// filter를 쓸 경우
const result = arr.filter((item) => {
return item % 2 === 0;
});
console.log(result); // [2, 4, 6]
다음과 같이 객체가 있는 경우엔 indexOf로는 찾기가 힘들잖아. 이럴 때 find와 findIndex, filter 메소드를 사용.
let userList = [
{ name: "Mike", age: 30 },
{ name: "Jane", age: 27 },
{ name: "Tom", age: 10 },
];
// find를 쓸 경우
const result = userList.find((user) => {
if (user.age < 19) {
return true;
}
return false;
});
console.log(result); // { name: "Tom", age: 10 }
// findIndex를 쓸 경우
const result = userList.findIndex((user) => {
if (user.age < 19) {
return true;
}
return false;
});
console.log(result); // 2
// filter를 쓸 경우
const result = userList.filter((user) => {
if (user.age < 19) {
return true;
}
return false;
});
console.log(result); // { name: "Tom", age: 10 }
728x90
반응형
'JavaScript > 기초' 카테고리의 다른 글
JavaScript - 배열 값들을 줄여서 하나의 값으로 reduce() (0) | 2021.08.04 |
---|---|
JavaScript - 배열에서 함수로 새로운 배열 만들기 map() (0) | 2021.08.03 |
JavaScript - 배열 데이터를 거꾸로 reverse() (0) | 2021.08.02 |
JavaScript - 배열을 문자열로 join(), 문자열을 배열로 split() (0) | 2021.07.30 |
JavaScript - 배열 원소 삭제하기, splice와 slice의 차이 (0) | 2021.07.29 |
JavaScript - 배열 합치기 concat() (0) | 2021.07.28 |
JavaScript - 배열에서 특정 값 찾기 indexOf, lastIndexOf, includes (0) | 2021.07.27 |
댓글