Array.reduce로 객체 만들기

·2022년 4월 12일
1

메소드 공부

목록 보기
21/22

내부 숙제에서 reduce를 사용하지 않고 구현하라는 문제가 나왔다.
이중배열 속에 배열의 값들이 담겨져있는데
그것을 배열에 담겨져있는 키와 밸류값으로 리턴하라는 문제였는데

reduce를 사용하지 않고 구현하는 것은 정말 금방 했다.
근데 문제는 reduce 를 워낙 안쓰다보니 활용하는 방법을 몰라서
맨날 더하기만 썼지 다른건
개고생을 하다가 물어봐서 내가 까먹을까봐 적어놓는 글이다.


위 그림의 모양을 구현하면 되는 것이였는데, 풀어낸 코드는 이러하다.

const arr = [
  ["철수", 10],
  ["영희", 11],
  ["훈이", 9],
  ["맹구", 10],
];
arr.reduce((acc, cur) => 
                    {acc.push({name: cur[0],age: cur[1],});return acc;}, []);
const arr = [
  ["철수", 10],
  ["영희", 11],
  ["훈이", 9],
  ["맹구", 10],
];
arr.reduce((acc, cur) => 
                   {return [...acc,{name: cur[0],age: cur[1],},];}, []);

위에는 초기값으로 준 acc에 들어오는 cur들을 객체의 형태로 변환하여 push로 집어넣어주는 방식이고
아래는 초기값에 들어온 cur의 형태를 객체로 변환하여 쌓아나가는 방식이다.

두개 중 뭐가 더 좋은지는 잘 모르겠다, 속도도 모르겠고 공부를 안해서 모르는거겠지(....)


형한테 듣기로는 map과 reduce가 생겨남에 따라 병렬컴퓨팅이 가능해졌다고 이야기를 들었는데

그렇다는 소리는 속도를 빠르게 하기 위해서는 필수적으로 사용을 해야한다는 것이고
공부를 해야한다는 뜻인데. . . . 멀리 가지도 않고 바로 다음 문제에서 발목잡혀서 문제를 못 풀고있다.
에라이

profile
물류 서비스 Backend Software Developer

0개의 댓글

관련 채용 정보