Ich möchte etwas wie _.first
mit _.filter
erreichen, das heißt, mit einer Sammlung von Elementen, würde ich gerne die erste (wenn vorhanden), die eine Wahrheit entspricht Test (Iterator).Holen Sie sich das erste Element einer Sammlung, die Iterator-Funktion entspricht
Zum Beispiel gegeben ein Array wie folgt aus:
var arr = [{a: 1}, {a: 5}, {a: 9}, {a: 11}, {a: 15}]
Ich würde zuerst getthe mag (und nur die erste) Element, das meine benutzerdefinierte Funktion übereinstimmt:
_.filterFirst(arr, function(el) { return el.a > 10; }); // make it
Bisher:
_.first(arr) == {a:1}
_.filter(arr, function(...)) == [{a:11}, {a:15}]
gibt es eine saubere Lösung, dies zu tun, diebesser als ist?
Werfen Sie einen Blick auf die Funktion find http://underscorejs.org/#find –
Warum nicht nur _.filter (arr, iterator) [0] – levi
@levi, weil es mehr CPU verbraucht als es sollte. – ducin