Javascript-Objektgruppe nach Tag, Monat, Jahr

Ich arbeite an einer Anwendung, mit der ich verschiedene Sätze von Javascript-Objekten gruppieren muss. Diese basieren auf Monat, Tag und Jahr.

Für Tag mache ich wie unten

var calculateByDay = function(inputList){
        var outPutList = [];    
        var result = {}
        var item = null, key = null;
        for(i=0; c<inputList.length; i++) {
           item=inputList[c];
           key = Object.keys(item)[0];
           item=item[key];
           if(!result[key]) {
                result[key] = item;
            }
           else {
            result[key] += item;
        }
        for (r in result)
            {
                var docs = {};
                docs["date"] = r;
                docs["amount"] = result[r];
                outPutList.push(docs);
            }

        }
        return outPutList;
    }

Wie kann ich den obigen Code verbessern und ihn auch für die Monats- und Jahresberechnung verwenden? Ich ging gründlich underscore.js und es hat einegruppiere nach Methode. scheint aber nicht zu meiner anforderung zu passen. Ich möchte auch nach Monaten und Jahr gruppieren, z

var inputList = [{"2012-12-02T00:00": 2000}, {"2013-01-01T00:00": 1200},{"2013-02-02T00:00": 550}, {"2013-02-02T00:00": 1000}];

Die Ausgabe sollte sein:

Monthly :
[{"December 2012": 2000}, {"January 2013": 1200},{"February 2013": 1550}];
Yearly
[{"year 2012": 2000}, {"year 2013": 2750}];

Und anscheinend muss ich für diese Art von Karte den Ansatz für große Datenmengen (Arraysets) reduzieren. Gibt es eine andere Bibliothek oder Vorgehensweise, die ich tun kann, um den Code solide zu machen?

Danke im Voraus.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage