我想知道在条件语句中分配变量是否是个好主意。
例如:
var sum = {}
var objs = [{"a": 1, "b":2, "c":3}, {"a": 2, "b": 3, "c":4}, {"a": 3, "b":4, "c":5}];
objs.forEach(function(obj) {
Object.keys(obj).forEach(function(key) {
((sum[key] += obj[key]) || (sum[key] = obj[key]))
});
});
或者更好地做类似的事情:
objs.forEach(function(obj) {
Object.keys(obj).forEach(function(key) {
sum[key] = typeof sum[key] != "undefined" ? sum[key] + obj[key] : obj[key];
});
});
答案 0 :(得分:2)
您可以使用默认值并添加实际值。然后分配给对象。
sum[key] = (sum[key] || 0) + obj[key];