2014-02-11 75 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/