var menu = [
{
"id": 5,
"price": 13,
"count": 2
},
{
"id": 8,
"price": 7,
"count": 3
},
{
"id": 9,
"price": 17,
"count": 1
}
]
var sum = 0;
for (var key in menu) {
for (var key1 in menu[key]) {
//console.log(key1);
if (key1 == 'price'){
price += menu[key][key1];
}
}
}
但我不知道如何乘以计数属性
答案 0 :(得分:0)
您可以将Array.prototype.map与Array.prototype.reduce一起使用。
.map
采用回调函数,该函数将每个项目的价格乘以 count 并创建一个新的array
,如下所示:
[26,21,17]
。
.reduce
也会进行回调,迭代新的创建数组,总结相乘的价格,结果为:
64
let menu = [
{
"id": 5,
"price": 13,
"count": 2
},
{
"id": 8,
"price": 7,
"count": 3
},
{
"id": 9,
"price": 17,
"count": 1
}
]
let sum = menu.map(p => p.price * p.count).reduce((a,b) => a + b)
console.log("Total:",sum)

答案 1 :(得分:-1)
你可能想要这样的东西:
public class EmployeeRepository
{
var optionsBuilder = new DbContextOptionsBuilder<effMercContext>();
// add necessary options
public Employee GetByID(int id)
{
using (effMercContext db = new effMercContext(optionsBuilder.Options))
{
}
}
}
你可以通过创建一个对象并添加一个原型(节省内存和时间)或每次都以这种方式构建它来做到这一点。
否则你可以这样做:
{
"id": 5,
"price": 13,
"count": 3,
"value": function() {return this.price * this.count;}
}
答案 2 :(得分:-2)
假设您要计算总和
var menu = [
{
"id": 5, "price": 13, "count": 2 }, {
"id": 8, "price": 7, "count": 3 }, { "id": 9, "price": 17, "count": 1 } ];
var sum = 0, item;
for(item in menu)
{
sum += menu[item].price * menu[item].count;
}
console.log(sum);
&#13;