如何创建包含具有相同办公室的人员的值的数组
const arr = [
{ "officeID": "1", "people": 10},
{ "officeID": "2", "people": 10 },
{ "officeID": "1", "people": 20 }
]预期的结果应该是一个数组10,20,其中包含具有相同办公室id的人员的值
发布于 2020-10-24 04:44:05
我想当你想合并的时候,你会计算每个办公室的总人数。
const arr = [
{ officeID: '1', people: 10 },
{ officeID: '2', people: 40 },
{ officeID: '1', people: 20 },
];
let ret = arr.reduce((prev, c) => {
const p = prev;
if (!p[c.officeID]) p[c.officeID] = [c.people];
else p[c.officeID] = [...p[c.officeID], c.people];
return p;
}, {});
ret = Object.entries(ret).map((x) => ({ officeID: x[0], people: x[1] }));
console.log(ret);
https://stackoverflow.com/questions/64506975
复制相似问题