학습 목표
- 배열 내장 고차 함수 filter에 대해서 이해할 수 있다.
- filter에 대한 이해를 기반으로, 나머지 내장 고차 함수를 학습할 수 있다.
- filter, map, reduce, forEach, find, sort, some, every
- 고차 함수를 쓰는 이유를 설명할 수 있다.
- 고차 함수를 활용하여 프로그램을 작성할 수 있다.
// 예시
const arr = [1, 2, 3, 4, 5];
const newArr = arr.filter(num => num % 2 === 0); // arr 배열에서 짝수만 모음
console.log(newArr); // [2, 4] 새로운 배열
// 예시
const arr = [1, 2, 3];
const newArr = arr.map(num => num * 2); // arr 배열의 각 요소를 2배로 만들어 새로운 배열을 만듦
console.log(newArr); // [2, 4, 6]
// 예시
const arr = [1, 2, 3, 4, 5];
const sum = arr.reduce((acc, cur) => acc + cur, 0); // arr의 모든 요소를 더한 값
console.log(sum); // 15
const arr = ['apple', 'banana', 'orange'];
const str = arr.reduce((acc, curr) => `${acc}, ${curr}`); // acc는 누적값, curr은 현재 요소
// 누적값과 현재 요소를 콤마와 함께 문자열로 결합
console.log(str); // 'apple, banana, orange'
// 배열의 각 요소를 key-value 형태의 객체로 응축하는 예시
const arr = [1, 2, 3, 4, 5];
const obj = arr.reduce((acc, curr) => {
acc[curr] = curr * 2;
return acc;
}, {}); // 누적값인 객체에 각 요소를 key로 하고, 2배 한 값을 value로 하여 저장
console.log(obj); // {1: 2, 2: 4, 3: 6, 4: 8, 5: 10}