perData:{ "2021-01":{ "一":{ num:1, cnm:2, rate:0.5 }, "二":{ num:1, cnm:2, rate:0.5 }, "三":{ num:1, cnm:2, rate:0.5 } }, "2021-02":{ "一":{ num:1, cnm:2, rate:0.5 }, "二":{ num:1, cnm:2, rate:0.5 }, "三":{ num:1, cnm:2, rate:0.5 } } } 使用js 输出data每个key下num的和 cnm的和,rate的和除以rate的个数
时间: 2023-07-19 19:05:16 浏览: 43
可以使用以下代码来实现:
```javascript
const data = {
"2021-01": {
"一": {
num: 1,
cnm: 2,
rate: 0.5
},
"二": {
num: 1,
cnm: 2,
rate: 0.5
},
"三": {
num: 1,
cnm: 2,
rate: 0.5
}
},
"2021-02": {
"一": {
num: 1,
cnm: 2,
rate: 0.5
},
"二": {
num: 1,
cnm: 2,
rate: 0.5
},
"三": {
num: 1,
cnm: 2,
rate: 0.5
}
}
};
let numSum = 0;
let cnmSum = 0;
let rateSum = 0;
let rateCount = 0;
for (const [key, value] of Object.entries(data)) {
for (const innerValue of Object.values(value)) {
numSum += innerValue.num;
cnmSum += innerValue.cnm;
rateSum += innerValue.rate;
rateCount++;
}
}
const rateAvg = rateSum / rateCount;
console.log(`num的和为:${numSum}`);
console.log(`cnm的和为:${cnmSum}`);
console.log(`rate的平均值为:${rateAvg}`);
```
输出结果为:
```
num的和为:6
cnm的和为:12
rate的平均值为:0.5
```
这个代码中,我们使用了两层嵌套的 `for...of` 循环来遍历 `data` 对象中的每一个值,并将每个对象中的 `num`、`cnm` 和 `rate` 属性的值分别累加到对应的变量中。最后,我们计算了 `rate` 属性的平均值,并将所有结果输出到控制台上。