자바스크립트 reduce 메소드

GJ·2021년 10월 15일
0

문제인식

배열을 객체로 변환할 필요가 있었는데, reduce를 사용하면 된다는 답변을 외국 블로그에서 보았다.
자바스크립트의 배열 메소드에서 map이나 filter는 다른 언어들을 통해 많이 접해봐서 쉬운 개념이었지만, reduce라는 메소드는 잘 접해보지 못해서 어떻게 사용해야하는지 몰랐다.

해결방법

reduce는 말그대로 차원을 줄여주는 메소드이다.
즉, 2차원 배열을 1차원 배열로 줄여주거나, 1차원 배열을 변수 1개로 줄여주는것이다.
그래서 인터넷에 떠도는 예제로는 합계를 보여주는 경우가 많지만,
나같은 경우에는 배열을 1개의 객체로 바꿀때 사용하게 되었다.

const objectedLayers = array.reduce((prev, curr) => {
  return {
    ...prev,
    [curr.name]: curr.value
  }
}, {});

첫 시작은 reduce의 마지막 파라미터로 입력된 빈 객체에서 시작된다.
prev는 이전까지의 객체를 뜻하고,
curr은 배열에서의 현재 element를 뜻한다.

후기

reduce가 무엇인지, 그리고 사용방법을 알게되니 자바스크립트 사용이 보다 쉬워진것 같다.

profile
Frontend Developer

0개의 댓글