javascript - Javascript - 如何对这样一个数组中的值求和?
问题描述
我有这样一个数组:
let array = {
[1]: {
name: 'test 1',
count: 5
},
[2]: {
name: 'test 2',
count: 3
}
}
如何对“计数”列中的值求和?来自简单数组的示例不起作用。我目前有这样的循环。它可以做得更好吗?
let sum = 0
Object.entries(array).forEach(([key, val]) => {
sum += val.count
});
解决方案
利用reduce
let array = { 1: { name: "test 1", count: 5, }, 2: { name: "test 2", count: 3, }, };
total = Object.values(array).reduce((t, { count }) => t + count, 0); //t accumulator accumulates the value from previous calculation
console.log(total);
如果你想forEach
在你的方法中使用循环,Object.values()
因为你只需要值来计算计数的总和
let array = {
1: { name: "test 1", count: 5 },
2: { name: "test 2", count: 3 },
};
let sum = 0;
Object.values(array).forEach(({ count }) => {
sum += count;
});
console.log(sum);
推荐阅读
- eclipse - ARM Development Studio IDE (Eclipse) 保存最后一个工作区路径在哪里
- ios - 解析json时无法将数据设置为变量
- grafana - 将蝗虫数据保存到influxdb
- java - 如何在一个程序中组合 jar 文件和 .sql 文件
- reactjs - 使用 antv g2plot 反应酶开玩笑测试用例失败
- collections - 在 F# 中展平地图的地图
- html - 在 amp-html 中滚动到顶部时运行动画
- python - 我无法导入 tensorflow 和 tflearn
- swift - SwiftUI 网格布局
- r - 如何在 R 中显示和使用奇怪的字符