js对象数组根据城市名称对该城市其他3个数据的出现次数进行求和统计
时间: 2024-09-24 19:28:36 浏览: 33
C++两个一维数组相加求和
在JavaScript中,如果你有一个对象数组,每个对象都包含城市名和其他相关的数值字段,你可以通过循环遍历数组,然后使用`reduce()`函数对每个城市的特定数值字段进行求和统计。假设我们有这样一个对象数组:
```javascript
let data = [
{ city: '北京', value1: 10, value2: 20, value3: 30 },
{ city: '上海', value1: 5, value2: 15, value3: 45 },
{ city: '北京', value1: 15, value2: 25, value3: 50 },
{ city: '广州', value1: 7, value2: 18, value3: 36 },
];
```
你可以这样做来计算每个城市`value1`, `value2`, 和 `value3` 的总和:
```javascript
let result = data.reduce((sumByKey, item) => {
if (!sumByKey[item.city]) {
sumByKey[item.city] = { value1: 0, value2: 0, value3: 0 };
}
sumByKey[item.city].value1 += item.value1;
sumByKey[item.city].value2 += item.value2;
sumByKey[item.city].value3 += item.value3;
return sumByKey;
}, {});
console.log(result);
```
这将返回一个新的对象,其中键是城市名,值是一个对象,包含了该城市所有对象的`value1`, `value2`, 和 `value3` 的总和。
阅读全文