首先遍历数组,然后将“名称”推入另一个对象的属性。如果属性存在,则将“值”添加到属性的值,否则将属性初始化为“值”。构建此对象后,请遍历属性并将其推入另一个数组。
这是一些代码:
var obj = [ { 'name': 'P1', 'value': 150 }, { 'name': 'P1', 'value': 150 }, { 'name': 'P2', 'value': 200 }, { 'name': 'P3', 'value': 450 }];var holder = {};obj.forEach(function(d) { if (holder.hasOwnProperty(d.name)) { holder[d.name] = holder[d.name] + d.value; } else { holder[d.name] = d.value; }});var obj2 = [];for (var prop in holder) { obj2.push({ name: prop, value: holder[prop] });}console.log(obj2);
希望这可以帮助。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)