jQuery: Wie finden Sie ein Objekt mit einer bestimmten Eigenschaft gleich einem bestimmten Wert? [geschlossen]

8

Wie kann ich mithilfe von jQuery ein Array von Objekten durchlaufen und das Objekt zurückgeben, das bestimmte Kriterien erfüllt?

    
David 09.03.2012, 00:24
quelle

3 Antworten

14

Sie können die Funktion jQuery grep verwenden:

%Vor%

Wenn Ihre Bedingung, auf die Sie testen möchten, etwas anderes als eine strikte Gleichheit ist, dann müssen Sie eine Art Array-Iteration verwenden, die Ihren benutzerdefinierten Vergleich ausführt. Sie können dies mit .each() oder mit .grep() tun, je nachdem, welche Art von Ausgabe gewünscht wird.

Wenn Ihre Bedingung eine strikte Gleichheit war, könnten Sie jQuery.inArray() verwenden.

Offensichtlich brauchen Sie jQuery dafür nicht, da Sie einfach das Array selbst in einfachem JavaScript durchlaufen und den Test implementieren könnten, den Sie wollten. Ein Vorteil von plain javascript ist, dass Sie aus der Iteration ausbrechen können, wenn Sie das gewünschte Ergebnis gefunden haben.

In regulärem JavaScript:

%Vor%     
jfriend00 09.03.2012, 00:29
quelle
1
%Vor%

dies wird beide 2's

zurückgeben

Grundsätzlich kann das Array ein Array von dom-Elementen oder ein beliebiges Array sein. Wenn es ein Array ist, das von einem jQuery-Selektor zurückgegeben wird, können Sie etwas wie

tun %Vor%

nur für zB- & gt; Dies wird alle Divs zurückgeben, die sowohl someClass als auch someOtherClass haben (Hinweis: Es gibt andere Möglichkeiten, dies zu tun)

Aktualisierung nach Ihrem Kommentar, können Sie tun

%Vor%     
labroo 09.03.2012 00:29
quelle
0

Sie brauchen jQuery nicht wirklich, um das zu tun, was Sie brauchen:

%Vor%     
ggreiner 09.03.2012 00:32
quelle

Tags und Links