JavaScript:使用.forEach向数组项添加新属性

JavaScript:使用.forEach向数组项添加新属性,javascript,arrays,higher-order-functions,Javascript,Arrays,Higher Order Functions,我需要通过将碳水化合物、蛋白质和脂肪相乘来计算卡路里,然后将结果相加 我在这件事上陷得很深,我得 let foods = [ { name: 'bread', carbs: 36, protein: 8, fat: 2 }, { name: 'mayo mustard mix', carbs: 0, protein: 0, fat: 10 }, { name: 'turkey', carbs: 0, protein: 25, fat: 1 }, { name: 'cheese',

我需要通过将碳水化合物、蛋白质和脂肪相乘来计算卡路里,然后将结果相加

我在这件事上陷得很深,我得

let foods = [
  { name: 'bread', carbs: 36, protein: 8, fat: 2 },
  { name: 'mayo mustard mix', carbs: 0, protein: 0, fat: 10 },
  { name: 'turkey', carbs: 0, protein: 25, fat: 1 },
  { name: 'cheese', carbs: 0, protein: 5, fat: 7 },
]

但我不确定该从何处着手。

对于每种食物,获取其三个值,并将计算结果保存在一个新属性卡路里中,如果我没记错的话:

让食物=[ {名称:'面包',碳水化合物:36,蛋白质:8,脂肪:2}, {名称:'梅奥芥末混合物',碳水化合物:0,蛋白质:0,脂肪:10}, {名称:'火鸡',碳水化合物:0,蛋白质:25,脂肪:1}, {名称:'奶酪',碳水化合物:0,蛋白质:5,脂肪:7} ]; foods.forEachfood=>{ 常量碳水化合物=0,蛋白质=0,脂肪=0}=食物; 食物。卡路里=碳水化合物*4+蛋白质*4+脂肪*9; }; 食品; 函数计算热量食物{返回某物} //此函数应计算输入的热量 //我想你会自己做这个的 foods.forEach food=>{ var cal=计算食物的热量 食物.卡路里=cal }
就这样。我希望这是可以理解的。

主要问题是什么?你有这个元素,你可能知道如何计算卡路里,具体问题是什么?如何向对象添加属性?我不明白为什么会被否决。@DaveNewton我几乎与另一个人同时回答,我们的答案几乎相同,只是他给出了更多细节:
foods.forEach((element, index, array => { })