map, filter, find, some, every, reduce의 목적을 구분합니다.
map은 같은 개수의 새 배열, filter는 조건을 통과한 새 배열, find는 첫 항목을 반환합니다. some과 every는 boolean을 만들고 reduce는 여러 값을 하나로 누적합니다. 이 메서드들은 원본을 직접 바꾸지 않지만 콜백에서 객체 내부를 변경하면 원본 객체는 달라질 수 있습니다.
코드를 읽을 때는 array.map(fn); array.filter(fn); array.reduce(fn, initial); 부분부터 찾으세요. 현재 값과 실행 순서를 줄마다 적어 보면 문법을 외우지 않아도 결과를 예측할 수 있습니다.
실행하기 전에 예상 결과를 짧게 적은 뒤 기준 점수를 바꿔 filter, find, some, every 결과를 비교하세요. 실제 출력이 다르면 콘솔에 처음 나타난 오류와 그 직전 값을 차례로 확인하세요.
forEach는 반환값을 모아 새 배열을 만들지 않습니다. 변환 결과가 필요하면 map을 사용하세요.
직접 바꿔보세요기준 점수를 바꿔 filter, find, some, every 결과를 비교하세요.