有没有办法在Javascript中用Object值写一个reduce函数?我正在寻找减少一系列键的类比:
Object.keys(hash).reduce(function(a, b) {
// reduce logic
})
答案 0 :(得分:1)
不,对象没有这种原生的高阶函数。
您要么必须编写自己的库,使用库(Underscore的_.reduce
也可以对对象起作用)或者像刚才那样在Key上应用Array方法:
Object.keys(hash).reduce(function(sum, k) {
return sum + hash[k];
}, 0)
答案 1 :(得分:0)
这是你需要的吗?
var o = { a:1, b:2, c:3 },
values = [];
for(var k in o) {
values.push(o[k]);
}
var result = values.reduce(function(previousValue, currentValue, index, array){
return previousValue + currentValue;
});
console.log(result);