javascript - JavaScript:使用 .forEach 向数组项添加新属性
问题描述
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 },
]
我需要通过将碳水化合物、蛋白质和脂肪相乘来计算卡路里,然后将结果加在一起。
我很坚持这个,我已经到了
foods.forEach((element, index, array => { })
但不确定从那里去哪里。
解决方案
对于每个食物,获取它的三个值并保存计算,如果我没记错的话:),在一个新属性中calories
:
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 }
];
foods.forEach(food => {
const { carbs = 0, protein = 0, fat = 0 } = food;
food.calories = carbs * 4 + protein * 4 + fat * 9;
});
console.log(foods);
推荐阅读
- sql - 每年年初获取有效订单
- linux - 设置中断标志(sti)使linux内核崩溃
- angular - Google Chrome(Web 组件)中未解析 Angular 6 变量
- java - 无法使用 Apache Camel 将 XML 字符串发布到 REST 服务
- r - 如何在R中比较单词并找到匹配的单词
- vba - 根据 ComboBox1 中的选定值更改 ComboBox2 中的列表
- java - 将双 foreach 和 if 语句重构为 java 8 解决方案
- c# - 单击和longItemClick listview c#vs2017时Xamarin得到错误的项目
- angular - *ngFor 对象比较使用 '==='
- python-dedupe - 为重复数据删除错误安装特定版本的 Numpy