Є хороший метод масиву, reduce()
щоб отримати одне значення з масиву. Приклад:
[0,1,2,3,4].reduce(function(previousValue, currentValue, index, array){
return previousValue + currentValue;
});
Який найкращий спосіб досягти того ж з предметами? Я хотів би зробити це:
{
a: {value:1},
b: {value:2},
c: {value:3}
}.reduce(function(previous, current, index, array){
return previous.value + current.value;
});
Однак, здається, в «Об’єкті» не було reduce()
реалізовано жодного методу.
reduce
метод. Я би там перевірив. Хоча рішення не здається таким складним.
_
, зменшення об’єктів є. Не впевнений, чи працює він випадково або якщо підтримка об’єктів була навмисною, але дійсно ви можете передати об’єкт, як у прикладі цього питання, і це буде (концептуально) for..in
, викликаючи вашу функцію ітератора зі значеннями, знайденими на кожному ключі.
Underscore.js
?