반응형
SMALL

Array.filter(callback())

==> Array1배열을 순회하며 주어진 callback 함수에서 true를 반환한 요소들을 모아 새로운 배열로 반환한다.

const words = ['spray', 'limit', 'elite', 'exuberant', 'destruction', 'present'];

const result = words.filter(word => word.length > 6);

console.log(result)
//["exuberant", "destruction", "present"]

 

callback함수는 요소값, 요소인덱스, 순회되는 배열객체와 함께 호출된다.

const words = ['spray', 'limit', 'elite', 'exuberant', 'destruction', 'present'];

const result = words.filter((word, index) => index > 3);

console.log(result)
//[ 'destruction', 'present' ]
const words = ['spray', 'limit', 'elite', 'exuberant', 'destruction', 'present'];

words.filter((word, index) => console.log(word, index));

//spray 0
//limit 1
//elite 2
//exuberant 3
//destruction 4
//present 5
//[]
const words = ['spray', 'limit', 'elite', 'exuberant', 'destruction', 'present'];

const result = words.filter((word, index, arr) => console.log(arr));
  
console.log(result)

//[ 'spray', 'limit', 'elite', 'exuberant', 'destruction', 'present' ]
//[ 'spray', 'limit', 'elite', 'exuberant', 'destruction', 'present' ]
//[ 'spray', 'limit', 'elite', 'exuberant', 'destruction', 'present' ]
//[ 'spray', 'limit', 'elite', 'exuberant', 'destruction', 'present' ]
//[ 'spray', 'limit', 'elite', 'exuberant', 'destruction', 'present' ]
//[ 'spray', 'limit', 'elite', 'exuberant', 'destruction', 'present' ]
//[]

*원배열은 변하지 않는다.(words)

*callback함수에서 true를 반환하는 요소가 없을 경우 빈배열 반환

*filter()에 의해 처리되는 요소의 범위는 callback의 첫 호출 전에 설정된다.

  callback 호출 후에 실행한 원배열의 수정사항은 filter()에 반영되지 않는다.

 

반응형
LIST

'개발 > Javascript' 카테고리의 다른 글

sort, reverse, join  (0) 2021.01.05
map  (0) 2021.01.04
문자열 찾기(indexOf, includes, search, match)  (0) 2021.01.01
문자열 자르기(split, substring, substr)  (0) 2020.12.15
slice, splice  (0) 2020.12.15

+ Recent posts