Stellen Sie sich vor, ich habe eine verschachtelte Array-Struktur.Was ist die Unterstreichung.js, die dem SELECTMany-Operator von LINQ entspricht?
var nested = [ [1], [2], [3] ];
Mit underscore.js, wie würde ich eine abgeflachte Array erzeugen?
In C# würden Sie Enumerable.SelectMany
wie folgt verwenden:
var flattened = nested.SelectMany(item => item);
Beachten Sie, dass das Lambda in diesem Fall direkt das verschachtelte Element auswählt, aber es könnte ein beliebiger Ausdruck gewesen.
In jQuery, dann ist es möglich, benutzen Sie einfach:
var flattened = $.map(nested, function(item) { return item; });
jedoch dieser Ansatz nicht map Funktion mit Unterstrich ist nicht funktioniert.
Also wie würde ich das abgeflachte Array [1, 2, 3]
mit underscore.js bekommen?
Verwendung _.flatten? – yngccc
Sie könnten auch schreiben: _.map (geschachtelt, Funktion (Element) {return item [0];}) – Darragh
@Darragh, das würde für mein spezifisches Beispiel funktionieren, aber nicht, wenn die untergeordneten Arrays mehrere Elemente enthalten. –