1 回答

TA貢獻1802條經驗 獲得超5個贊
你可以簡單地使用Array.reduce函數
let jsonData = [
{"id": "1", "object": "pen"},
{"id": "4", "object": "bag"},
{"id": "2", "object": "paper"},
{"id": "5", "object": "bottle"},
{"id": "3", "object": "notepad"},
{"id": "1", "object": "pen"},
{"id": "4", "object": "bag"},
{"id": "3", "object": "notepad"},
{"id": "3", "object": "notepad"},
{"id": "1", "object": "pen"},
{"id": "2", "object": "paper"},
{"id": "1", "object": "pen"},
];
let summary = jsonData.reduce( (ac, el) => {
let obj = ac.find(e => e.object == el.object);
if (!obj) {
obj = {object: el.object, unit: 0};
ac.push(obj);
}
obj.unit = obj.unit + 1;
return ac;
}, []);
console.log(summary);
添加回答
舉報