Javascript 在对象数组中添加同名产品记录的价格
嗯,我需要添加同名产品的价格,并相应地修改数组 输入:记录=[{'name':'A','price':200},{'name':'B','price':350},{'name':'A','price':150},{'name':'B','price':300}] 输出:记录=[{'name':'A','price':350},{'name':'B','price':650}]Javascript 在对象数组中添加同名产品记录的价格,javascript,arrays,node.js,logic,javascript-objects,Javascript,Arrays,Node.js,Logic,Javascript Objects,嗯,我需要添加同名产品的价格,并相应地修改数组 输入:记录=[{'name':'A','price':200},{'name':'B','price':350},{'name':'A','price':150},{'name':'B','price':300}] 输出:记录=[{'name':'A','price':350},{'name':'B','price':650}] 如果使用javascript forEach函数提供解决方案,您将非常高兴。您可以使用想要的对象构建一个新数组,并使用此
如果使用javascript forEach函数提供解决方案,您将非常高兴。您可以使用想要的对象构建一个新数组,并使用此对象的引用将价格添加到分组项目中 var记录=[{'name':'A','price':200},{'name':'B','price':350},{'name':'A','price':150},{'name':'B','price':300}, 结果=[]; records.ForeachA功能{ 如果!这个[名字]{ 这个[a.name]={name:a.name,price:0}; result.pushthis[a.name]; } 此[a.name].price+=a.price; }, {};
文件。书写 另一种方法 拨弄
你应该自己做作业!:只要使用数组中的推送数据,我认为这将有助于您了解数组方法。”“forEach”和“push”-谢谢工作完美!是的。我加了一把小提琴
records.map(function(element, index, array){
return {
name: element.name,
price: (array
.reduceRight(function(previousvalue, currentvalue, currentindex){
var dup = currentvalue.name === element.name;
var cp = dup? currentvalue.price: 0;
dup? array.splice(currentindex, 1):0;
return previousvalue + cp;
}, 0))}
}).filter(function(element){ return typeof element !== "undefined";});