Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在对象数组中添加同名产品记录的价格_Javascript_Arrays_Node.js_Logic_Javascript Objects - Fatal编程技术网

Javascript 在对象数组中添加同名产品记录的价格

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函数提供解决方案,您将非常高兴。您可以使用想要的对象构建一个新数组,并使用此

嗯,我需要添加同名产品的价格,并相应地修改数组

输入:记录=[{'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函数提供解决方案,您将非常高兴。

您可以使用想要的对象构建一个新数组,并使用此对象的引用将价格添加到分组项目中

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";});