[JS] Filter()

2021. 12. 15. 16:54Javascript/개념

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