Probleme mit indexOf in einem komplexen Array [duplizieren]

7

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.

    
Nick 29.12.2011, 16:21
quelle

3 Antworten

18

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

%Vor%

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

    
Adam Rackis 29.12.2011, 16:25
quelle
1

Wenn Sie die Möglichkeit dazu haben, können Sie Array.prototype.filter:

verwenden %Vor%

Was geben wird:

%Vor%     
NiKo 30.12.2011 07:32
quelle
0

Sie können indexOf mit prototype

überschreiben %Vor%

Geige: Ссылка

    
dku.rajkumar 29.12.2011 16:40
quelle

Tags und Links