Ich möchte dieses Objekt auf ein Objekt reduzieren, das den Produktnamen und den Durchschnittspreis enthält. Was ist der schnellste Weg, es zu tun?
%Vor%resultiert in
%Vor%Danke!
Edit: Ich habe das jetzt vergessen, aber ich habe total vergessen _.flatten, also hat redmallard eine viel bessere Antwort .
Wenn Sie die Produktnamen bereits kennen und sie in jeder Gruppe erscheinen, können Sie das ganze schnell so machen:
%Vor%Ich stelle das zusammen, was auch funktionieren sollte, wenn Ihre Gruppen unterschiedliche Produkte haben (zB "eins" in der ersten, zweiten und vierten Gruppe und "zwei" in der ersten und dritten):
%Vor%Sie können das oben Genannte in einer Funktion mit einem Zähler machen und die Preise summieren, aber auf diese Weise haben Sie auch die Preise, wenn Sie zB die Standardabweichung nehmen oder den Modus finden wollen.
Nicht auf Evans Parade zu regnen, aber hier ist eine Alternative, die etwas kürzer ist;)
%Vor%Sehen Sie es in Aktion: Ссылка
Ich mag Redmallards Lösung sehr, aber ich wollte ein bisschen Golf spielen.
Underscore enthält keine Funktion sum
, aber wir können ziemlich elegante funktionale Ausdrücke schreiben, indem wir sum
mixin hinzufügen. Diese Funktion ist bekannt als add im Unterstrich-Contribs-Repo.
Dann können wir schreiben:
%Vor% Aber dann können wir auch eine avg
mixin erstellen, um unseren Toolbelt zu erweitern:
Tags und Links javascript mapreduce map underscore.js reduce