如何搜索对象数组并获得总数

时间:2020-05-18 02:32:14

标签: javascript

如何搜索此对象数组并返回所有价格属性的总和

  Data = [ {id:0,name:”lamp”,price: 5}
            {id:1, name:”bed”, price:10}
             {id:2,name: “shelf”, price 3}]

   ... It will need to return a total of 18

3 个答案:

答案 0 :(得分:0)

以相同的方式搜索其他数组。我给您通用的代码,因为您没有指定任何语言

sum = 0
for element in array:
    sum = sum + element['attr']
return sum

答案 1 :(得分:0)

我希望这是您搜索的答案

var Data = [ {id:0,name:'lamp',price: 5},{id:1, name:'bed', price:10},{id:1, name:'shelf', price:3}];

var sum = 0;
for (var i=0; i<Data.length;i++){
  sum += Data[i].price;
  
}
console.log(sum);

答案 2 :(得分:0)

Array具有方法reduce,在这种情况下非常常用。

它将第一个参数作为函数,该函数将为数组中的每个元素调用,而第二个参数(可选)为初始值。

因此,就您而言,您可以执行以下操作:

const sum = Data.reduce((accumulator, obj) => accumulator + obj.price, 0)

第一次调用accumulator的值是 0 ,下一次累加器的值将是函数上一次调用的返回值。 / p>

因此它将按以下方式工作:

// first call
// accumulator = 0
// obj = {id:0,name:”lamp”,price: 5}
return accumulator + obj.price

// second call
// accumulator = 5
// obj = {id:1, name:”bed”, price:10}
return accumulator + obj.price

// third call
// accumulator = 15
// obj = {id:2,name: “shelf”, price 3}
return accumulator + obj.price

// now accumulator = 18
相关问题