如何搜索此对象数组并返回所有价格属性的总和
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
答案 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