2014-02-11 38 views
0

有没有一种方法可以在JavaScript中通过Object值编写reduce函数?我正在寻找减少一系列键的模拟:通过JavaScript减少对象值

Object.keys(hash).reduce(function(a, b) { 

// reduce logic 

}) 

回答

1

没有,还有的对象没有这样的原生高阶函数。

要么你将不得不写自己的,使用图书馆(下划线的_.reduce不上对象,以及工作)或应用阵列方法像你钥匙只是有:

Object.keys(hash).reduce(function(sum, k) { 
    return sum + hash[k]; 
}, 0) 
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); 

http://jsfiddle.net/Mkm6e/