map, reduce

Haechan Kim·2022년 2월 19일

Node.js

목록 보기
1/15
  • map() 메서드
const arr = [1,2,3,4];
const arr2 = arr.map((val, index, arr) => {
    return val*2; // 반환값으로 새로운 배열 생성
})

console.log(arr2); // [ 2, 4, 6, 8 ]

새로운 배열 생성하고 return 해줘야 함.
원본 배열 변형하지 않음.

  • reduce() 메서드
    map이 배열 각 요소 변형한다면 reduce는 배열 자체를 변형.
    reduce라는 이름은 이 메서드가 보통 배열을 값 하나로 줄이는데 쓰이기 때문
    배열 전체 수를 더하거나, 평균 구하는 식으로 값 하나로 줄임
    • 매개변수
      • accumulator: 콜백의 반환값 누적
      • currentValue: 처리할 현재 요소
      • currentIndex: 처리할 현재 요소의 인덱스. optoinal
      • array: reduce() 호출한 배열. optoinal
      • initialValue: 최초 호출에서 첫 번째 인수에 제공하는 값. 생략하면 [0]건너뛰고 [1]부터 실행. optoinal

리듀서 함수의 반환 값은 accumulator에 할당.
accumulator는 순환 중 유지되므로 결국 최종 결과는 하나의 값이 됨.

const arr = [1,2,3,4];
const res = arr.reduce((accumulator, curVal, curIndex, arr) => {
    console.log(accumulator);
    console.log(curVal);
    console.log(curIndex);
    console.log(arr);
    return accumulator + curVal;
})

console.log(res);

0개의 댓글