我有一个非常困惑的 js 对象,我正在尝试清理它。 我是否需要创建一个新对象,在每个重复的键出现时添加一个新元素?
基本上,我正在尝试转变:
[ { device: 4323, action: 'CASH IN' },
{ device: 4325, action: 'ALTER DB' },
{ device: 4323, action: 'Order Pizza' } ]
进入:
[ { device: 4323, action: 'CASH IN, Order Pizza' },
{ device: 4325, action: 'ALTER DB' } ]
最佳答案
使用数组.reduce:
var items = [ { device: 4323, action: 'CASH IN' },
{ device: 4325, action: 'ALTER DB' },
{ device: 4323, action: 'Order Pizza' } ];
var res = items.reduce((m, o) => {
var found = m.find(e => e.device === o.device);
found ? found.action += `, ${o.action}` : m.push(o);
return m;
}, []);
console.log(res);
关于javascript - 在 javascript 对象中对重复键执行操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49727436/