filter 메서드

김정준·2022년 6월 5일
0

JS

목록 보기
8/13

filter 메서드

   filter 메서드는 자신을 호출한 배열의 모든 요소를 순회하면서 인수로 전달받은 콜백함수를 반복 호출한다. 그리고 콜백 함수의 반환값이 true인 요소로만 구성된 새로운 배열을 반환한다. 이때 원본 배열은 변경되지 않는다.
  filter 메서드의 콜백 함수는 filter 메서드를 호출한 배열의 요소값인덱스, 호출한 배열 자체, 즉 this를 순차적으로 전달 받을 수 있다.

const numbers = [1,2,3,4,5];
// filter 메서드는 numbers 배열의 모든 요소를 순회하면서 콜백 함수를 반복 호출한다.
// 그리고 콜백 함수의 반환값이 true인 요소로만 구성된 새배열을 반환한다.
// 1은 true로 평가된다.
const odds = numbers.filter(item => item % 2);
console.log(odds); // [1,3,5]

// filter 메서드는 콜백 함수를 호출하면서 3개(요소값, 인덱스, this)의 인수를 전달한다.
[1,2,3].filter((item, index, arr) => {
  console.log(`요소값: ${item}, 인덱스:${index}, this: ${JSON.stringify(arr)}`} 
  return item % 2; 
});
/*
요소값: 1, 인덱스: 0, this: [1,2,3]
요소값: 2, 인덱스: 1, this: [1,2,3]
요소값: 3, 인덱스: 2, this: [1,2,3]
*/

0개의 댓글