var obj = {
a1 : {key1: 50, key2:60, key3:0},
a2 : {key1: 0, key2:60, key3:0},
a3 : {key1: 50, key2:0, key3:0},
a4 : {key1: 50, key2:60, key3:0}
}
var arr = [];
for(var i in obj) {
for(var j in obj[i] ) {
arr[j] += obj[i][j];
}
}
console.log(arr);

我想取得a1,z2,z3,z4的key1(key2,key3,key4)值的和,现在打印出来的显示NaN了是怎么回事?
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
因为每一个
arr[j]都没有初始值应该这样:
而且
arr不应该为数组:arr[j]初值是undefined,undefined+数字得到了NaN,给arr[j]一个初始值0,或者累加的时候处理一下undefined的情况