Ich laufe gerade durch ein Objekt-Array und suche nach einem Wert. Ich bin mir sicher, Lodash hat eine Möglichkeit, dies zu tun, aber ich kann es nicht finden. Hier ist der Code.
var foo = 1; // Criteria to search for
var exists = false;
for (var i = 0; i < users.length; i++) {
if (users[i].id == foo) {exists = true; break;}
};
Im Grunde sieht das nur aus, wenn ein Element existiert, das die Kriterien erfüllt. Kennt jemand das Lo-Dash-Äquivalent dazu?
Antworten:
4 für die Antwort № 1Sie können verwenden _.some
:
_.some(users, function(user) {
return user.id === "foo";
})
lo-dash unterstützt auch eine Kurzform für den einfachen Fall des Abgleichs bestimmter Attribute. Ihr Beispiel fällt in diesen Fall:
_.some(users, { id: "foo" })
Wenn Sie IE8 nicht unterstützen müssen, können Sie das native verwenden Array.prototype.some
:
users.some(function(user) {
return user.id === "foo";
})
Array.prototype.some
Kompatibilitätstabelle