使用键合并数组中的对象的最佳方法是什么?[ { "refr": "https://example.com/", "transactions": 1 }, { "refr": null, "pageviews": 1 }, { "refr": "https://example.com/", "pageviews": 1 }]使用“refr”键所需的结果:[ { "refr": "https://example.com/", "transactions": 1, "pageviews": 1 }, { "refr": null, "pageviews": 1 }, ]我正在寻找一种不使用任何第三方工具(例如 lodash)的解决方案。
1 回答
至尊宝的传说
TA贡献1789条经验 获得超10个赞
使用Array.prototype.reduce,您可以refr按键对值进行分组。
const input = [
{
"refr": "https://example.com/",
"transactions": 1
},
{
"refr": null,
"pageviews": 1
},
{
"refr": "https://example.com/",
"pageviews": 1
}
];
const groupByRefr = input.reduce((acc, cur) => {
acc[cur.refr] ? acc[cur.refr] = { ...acc[cur.refr], ...cur } : acc[cur.refr] = cur;
return acc;
}, {});
const result = Object.values(groupByRefr);
console.log(result);
添加回答
举报
0/150
提交
取消