본문 바로가기
개발공부_Blog/JavaScript

Array.filter( ) : 반환값이 TRUE인 것들로 새로운 배열을 생성

by 독서개발자 2022. 10. 11.

Array.filter( ) 

  • 자신을 호출한 배열의 모든 요소를 순회하면서 인수로 전달받은  콜백함수를 반복 호출한다.
  • 콜백함수의 반환값이 True인 요소로만 구성된 새로운 배열을 반환한다
  • 원본 배열은 변경되지 않는다.
const number = [ 1,2,3,4,5]

const odds = number.filter((item, idx, arr) => {
    console.log( item, idx, arr )
    return item % 2
})

1_자신을 호출한 배열의 모든 요소를 순회, 콜백함수를 반복 호출한다.
// ( item, idx, arr )
// 1 0 (5) [1, 2, 3, 4, 5]
// 2 1 (5) [1, 2, 3, 4, 5]
// 3 2 (5) [1, 2, 3, 4, 5]
// 4 3 (5) [1, 2, 3, 4, 5]
// 5 4 (5) [1, 2, 3, 4, 5]

2_콜백함수의 반환값이 True인 새로운 배열을 반환한다
console.log(odds) // [1, 3, 5]

3_원본배열을 바꾸지 않는다
console.log(number) //(5) [1, 2, 3, 4, 5]

 

댓글