Es gibt eine nette Array-Methode reduce()
, um einen Wert aus dem Array zu erhalten. Beispiel:
[0,1,2,3,4].reduce(function(previousValue, currentValue, index, array){
return previousValue + currentValue;
});
Was ist der beste Weg, um dasselbe mit Objekten zu erreichen? Ich würde das gerne machen:
{
a: {value:1},
b: {value:2},
c: {value:3}
}.reduce(function(previous, current, index, array){
return previous.value + current.value;
});
In Object scheint jedoch keine reduce()
Methode implementiert zu sein.
reduce
Methode gibt. Ich würde dort nachsehen. Die Lösung scheint jedoch nicht so schwierig zu sein.
_
es gibt eine Reduzierung für Objekte. Sie sind sich nicht sicher, ob es versehentlich funktioniert oder ob die Objektunterstützung beabsichtigt war, aber Sie können tatsächlich ein Objekt wie im Beispiel dieser Frage übergeben, und es wird (konzeptionell) for..in
Ihre Iteratorfunktion mit den Werten aufrufen, die bei jedem Schlüssel gefunden werden.
Underscore.js
?