数组对象获取所有的key,并且value累加
时间: 2024-04-29 10:23:39 浏览: 95
js获取对象,数组所有属性键值(key)和对应值(value)的方法示例
5星 · 资源好评率100%
假设有一个名为arr的数组对象,其中包含多个对象,每个对象都有多个属性和对应的值,我们需要获取所有的key,然后将相同key对应的value累加起来。可以使用以下代码实现:
```
let result = {};
for(let i=0; i<arr.length; i++){
let obj = arr[i];
for(let key in obj){
if(obj.hasOwnProperty(key)){
if(result.hasOwnProperty(key)){
result[key] += obj[key];
}else{
result[key] = obj[key];
}
}
}
}
console.log(result);
```
首先创建一个空对象result用于存储结果,然后使用for循环遍历数组中的每个对象,再使用for-in循环遍历对象中的每个属性,并判断该属性是否为对象本身的属性(避免遍历到原型链上的属性),如果是则判断该属性是否已经存在于result中,如果已经存在则将当前值累加到result中对应的值上,否则将该属性添加到result中,并将当前值赋值给该属性。最后输出result对象即可。
阅读全文