JavaScript 循环遍历数组并合并对象属性值
假设数组中有两个对象,分别为 'obj1' 和 'obj2',第三个对象为 'obj3'。可以通过循环遍历数组,使用对象属性的方式获取 'obj1' 和 'obj2' 中对应的值,然后相加并赋值给 'obj3' 中对应的属性。具体代码如下:
var arr = [obj1, obj2]; // 假设数组中有两个对象
var obj3 = {}; // 定义第三个对象
for (var i = 0; i < arr.length; i++) {
var obj = arr[i];
for (var key in obj) {
if (obj.hasOwnProperty(key)) {
if (obj3.hasOwnProperty(key)) {
obj3[key] += obj[key]; // 如果 'obj3' 已经有该属性,则相加
} else {
obj3[key] = obj[key]; // 否则直接赋值
}
}
}
}
console.log(obj3); // 输出第三个对象
这段代码中,我们首先定义了一个数组 'arr',其中包含了两个对象 'obj1' 和 'obj2'。然后我们定义了一个空对象 'obj3',用于存储相加后的结果。
接着,我们使用两层循环遍历数组中的每个对象,首先获取当前对象 'obj',然后再使用 for...in 循环遍历该对象中的每个属性。如果该属性已经存在于 'obj3' 中,则把它的值加上当前对象中该属性的值;否则直接把该属性的值赋给 'obj3'。
最后,我们输出 'obj3',即可看到两个对象中对应属性的值已经被相加并赋值给了第三个对象。
原文地址: https://www.cveoy.top/t/topic/nALI 著作权归作者所有。请勿转载和采集!