Ich habe ein JavaScript-Array, das diesem Format folgt:
%Vor%Gibt es eine Möglichkeit, dass ich array.indexOf verwenden kann, um einen Index im Array zu finden, wenn ich zum Beispiel die Variable "id" kenne.
Zum Beispiel habe ich es versucht;
%Vor%Im Moment verwende ich;
%Vor%Diese zweite Technik funktioniert, aber das eigentliche Array, das ich benutze, hat 150 Einträge und 10 Einträge in jedem Eintrag, so dass es sehr verschwenderisch ist, wenn ich die "ID" des Eintrags kenne, den ich bearbeiten möchte. indexOf wäre ein viel sauberer Ansatz, wenn ich es zum Laufen bringen kann.
Ihr Aufruf an indexOf
prüft die Objekte in Ihrem Array gegen die Zeichenfolge b
, die niemals funktionieren wird.
Durch die Array-Elemente zu schlüpfen, um die richtige ID zu finden, ist eine einfache Lösung.
Oder Sie könnten Ihre eigene indexOf-Funktion erstellen:
%Vor%Hier ist eine Geige
BEARBEITEN
Wenn Sie Ihre Array-Elemente mit einer beliebigen Eigenschaft vergleichen wollen, gehen Sie folgendermaßen vor: (Beachte, dass ich die [] -Syntax verwende, um eine beliebige Eigenschaft zu erhalten)
%Vor% Wenn Sie sich nicht mit dem Prototyp von Array herumschlagen wollen und es Ihnen nichts ausmacht, Funktionen zu verwenden, die in älteren Browsern nicht vorhanden sind, können Sie die filter
-Funktion von Array verwenden
Beachten Sie, dass diese Funktion in IE8 nicht vorhanden ist. Um diesen Browser zu unterstützen, müssen Sie die Shim von MDN
BEARBEITEN - oops, indexOf ist auch nicht freundlich zu alten Browsern. Wenn Sie sich für dieses zweite Bit Code entscheiden und IE unterstützen möchten, müssen Sie auch die Shim für indexOf von hier
Sie können indexOf
mit prototype
Geige: Ссылка
Tags und Links javascript arrays indexof