filter 함수의 인자, 불변성

박준혁·2024년 1월 6일

🍀내가 푼 코드

function solution(todo_list, finished) {
    let answer = [];
    for(let i = 0; i < todo_list.length; i++) {
        if(finished[i] === false) {
            answer.push(todo_list[i])
        }
    }
    return answer;
}

--> if문 사용하여 배열에 넣어줌

🍀새로운 코드

return todo_list.filter((e, i) => !finished[i]);

---> !finished[i] 현재 인덱스에 해당하는 finished배열의 값이 거짓인 것들을 걸러라


🍀filter에 대해 간략 설명

  • filter는 인자로 세 가지 매개변수를 받는다
    element(현재 처리중인 배열 요소의 값), index(현재 처리중인 배욜 요소의 인덱스), array

  • 불변성 유지하면서 새로운 배열을 생성하는 함수(원본 배열 유지 & 새로운 배열 반환)

    ==> 불변성이 필요한 이유?

  1. 안정성과 예측 가능성
  2. 디버깅 용이
  3. 성능 최적화
profile
"열정"

0개의 댓글