filter() 메서드를 사용하면 배열의 요소를 필터링할 수 있으며 콜백 함수를 인자로 받을 수 있습니다.
주어진 함수의 조건을 만족하는 모든 요소를 모아 새로운 배열을 반환하게 됩니다.
함수의 return 값이 true라면 추가되고 false라면 삭제합니다.
메서드 안의 함수는 최대 3개의 인자를 취할 수 있으며 첫 번째 인자는 처리할 요소, 두 번째 인자는 처리할 요소의 인덱스, 세 번째 인자는 전체 배열입니다.
Array.prototype.filter() - JavaScript | MDN
filter() 메서드는 주어진 함수의 테스트를 통과하는 모든 요소를 모아 새로운 배열로 반환합니다.
developer.mozilla.org
아래 예시 코드와 함께 정리하도록 하겠습니다.
const nums = [10.99, 5.99, 3.99, 6.59];
const fileredNums = nums.filter((num, index) => {
return num > 6;
});
console.log(fileredNums); // [10.99, 6.59] 출력
위의 설명처럼 filter() 메서드는 전달한 함수의 조건 만족 여부에 따라 true 또는 false가 반환되는 메서드입니다.
각 요소가 return 뒤에 있는 조건에 만족하면 true가 반환되고 해당 요소는 새로운 배열에 추가되며
만족하지 못해 false가 반환되면 새로운 배열에서 삭제됩니다.
즉 10.99는 6보다 크기 때문에 true가 반환되어 새로운 배열에 추가됩니다.
5.99는 6보다 작기 때문에 false가 반환되어 새로운 배열에서 삭제됩니다.
3.99는 6보다 작기 때문에 false가 반환되어 새로운 배열에서 삭제됩니다.
6.59는 6보다 크기 때문에 true가 반환되고 새로운 배열에 추가됩니다.
'JavaScript' 카테고리의 다른 글
indexof() 와 lastIndexof() (2) | 2022.09.10 |
---|---|
reduce() (0) | 2022.09.07 |
sort()와 reverse() (0) | 2022.09.07 |
forEach 반복문 (0) | 2022.09.06 |
slice()와 concat() (0) | 2022.09.06 |