条件语句中的变量赋值,用于测试对象中是否未定义属性

时间:2018-03-27 19:44:08

标签: javascript

我想知道在条件语句中分配变量是否是个好主意。

例如:

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];
   });
});

1 个答案:

答案 0 :(得分:2)

您可以使用默认值并添加实际值。然后分配给对象。

sum[key] = (sum[key] || 0) + obj[key];