const myArray = [
{ group: "one", color: "red" },
{ group: "two", color: "blue" },
{ group: "one", color: "green" },
{ group: "one", color: "black" }
];
// 배열.reduce((누적값, 현잿값, 인덱스, 요소) => { return 결과 }, 초깃값);
const groupValues = myArray.reduce((acc, current) => {
acc[current.group] = acc[current.group] || [];
acc[current.group].push(current.color);
return acc;
}, {});
// 위에서 만든 객체를 key로 돌려서 새로운 객체 return
const groups = Object.keys(groupValues).map((key) => {
return { group: key, color: groupValues[key] };
});
아래와 같은 값으로 변환된걸 확인할 수 있습니다.
반응형
'javascript' 카테고리의 다른 글
Broadcast Channel API (0) | 2022.03.03 |
---|---|
MutationObserver로 DOM 변화 감지 (0) | 2021.12.07 |
querySelector로 index 조회 (0) | 2021.08.03 |
for loop에서 async/await (0) | 2021.07.05 |
배열 중복 제거 (0) | 2021.06.30 |