2014-02-11 4 views

ответ

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/

Смежные вопросы