linq.js zur Gruppe durch ein array von Objekten in javascript

Den ich nutzen möchte linq.js zu der Gruppe folgende Daten nach Datum.

data2 = [{
    "date": 1399298400.0,
    "adId": 1057946139383,
    "impressions": 1000000
  }, {
    "date": 1399298400.0,
    "adId": 3301784671323,
    "impressions": 535714
  }...... etc.
]; 

Hier ist mein Versuch:

var linq = Enumerable.From(data2);
data2 = linq.GroupBy(function (x) {
  return x.date;
}).Select(function (x) {
  return {
    date: x.Key(),
    impressions: x.Sum(function (y) {
      return y.impressions | 0;
    })
  };
}).ToArray();

Aber Es funktioniert nicht korrekt, weil die Summe aller impressions vor und nach der GroupBy sind in der Nähe, aber nicht identisch.

Was ist der richtige Weg, um Gruppe von in linq.js in diesem Fall?

Hier ein Beispiel im fiddle mit vollen Datenbestand hier die Warnungen, die gesamten Impressionen vor und nach der Verwendung der GroupBy.

  • mir scheint, dass | 0 ist das problem verursacht. Kopierte ich diesen code aus einem anderen stackoverflow-post. Was genau macht der | 0 tun?
  • Ich sollte || nicht | und es bedeutet, dass, wenn das Objekt auf der linken Seite der Ausdruck ist null Gegenzug, was ist rechts, was ist 0.
  • Aus Neugier dann - was nicht nur die ` zu tun?
InformationsquelleAutor user40721 | 2014-05-16
Schreibe einen Kommentar