💡 알고리즘 문제 풀이 중 분명 filter 쓰는 문제인 것 같은데... index 값을 쉽게 받아올 수는 없을까? 하는 고민에 빠지게 되었다.
(처음부터 MDN 보면 됐을 텐데 ㅎㅎ)filter 메서드 쓸 때 index 값 쓸 때가 많은데 지금까지삽질한듯... 잊지 않기 위해 기록해 두기!!
filter 메서드는 '여과한다'라는 사전적 정의에 맞게 자신이 호출한 배열의 모든 요소를 순회하면서 콜백 함수의 반환값이 true인 요소로만 구성된 새로운 배열을 반환하는 메서드이다.
const arr = [1,2,3,4,5,6]
arr.filter(el => el % 2 === 0) // [2, 4, 6]
따라서 자신이 호출한 배열(arr)에서 필터링 조건(el % 2 === 0)을 만족하는 특정 요소만을 추출하여 새로운 배열([2, 4, 6])을 만들고 싶을 때 사용한다.
filter 메서드는 배열.filter((매개변수) => {})
의 형태로 콜백함수를 호출해 사용한다. 그렇다면 매개변수에는 어떤 것들이 들어갈까?
이것이 내가 간과한 부분이다...🙃
arr.filter((element, index, arr) => {})
filter 메서드의 매개변수가 하나가 아닌 3가지라는 것을 잊지 말도록 하자
만약 콜백함수의 매개변수로 전해줄 값이 index나 arr라면!!
arr.filter((_,index) => {})
, arr.filter((_,_,arr) => {})
의 형태로 언더바(_)를 사용해 자리를 채워 주면 된다.
와아~ 연이님~~ filter에 대해서 한번 더 잘 상기시키고 갑니다 ㅎㅎㅎ