javascript
reduce로 객체 같은 값끼리 분류
hjcode
2021. 10. 26. 10:07
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] };
});
아래와 같은 값으로 변환된걸 확인할 수 있습니다.
반응형