[JS] Filter()
2021. 12. 15. 16:54ㆍJavascript/개념
1.정의
주어진 배열의 값들을 오름차순으로 접근해 callbackfn을 통해 true를 반환하는 요소를 기준으로 신규 배열을 만들어 반환한다.
콜백함수의 인자는 순서대로 값(value), 인덱스(index), 원 배열(array)이다.
let numbers = [1, 4, 9]
let parameters = numbers.filter((num, index, arr) =>
{console.log(num, index, arr)})
// 결과
1 0 [ 1, 4, 9 ]
4 1 [ 1, 4, 9 ]
9 2 [ 1, 4, 9 ]
2. 사용법
const person = [
{ name: 'a', money: 500000 },
{ name: 'b', money: 400000 },
{ name: 'c', money: 300000 },
{ name: 'd', money: 200000 }
];
const result = person.filter(p => p.money > 300000);
console.log(result);
// [ { name: 'a', money: 500000 }, { name: 'b', money: 400000 } ]
중복제거
const arr = [1, 1, 2, 2, 3, 4, 5];
const num = arr.filter((number, index, target) => {
return target.indexOf(number) === index;
});
console.log(num); //[ 1, 2, 3, 4, 5 ]
수정하지 않는 이상 순회하는 대상(target)은 변경되지 않는다는 속성을 이용해
filter와 indexOf를 조합하면 배열에 있는 중복을 제거 할 수 있다.
'Javascript > 개념' 카테고리의 다른 글
[JS] fill (0) | 2022.01.03 |
---|---|
[JS] event.preventDefault() (0) | 2021.12.16 |
[JS] 마우스 이벤트 종류 (0) | 2021.12.10 |
[JS] 이벤트 버블링 / 캡쳐링 / 위임 (0) | 2021.11.30 |
[JS] 깊은복사 / 얕은복사 (0) | 2021.11.30 |