/ / Schnellste Methode zum Filtern des Rückgabearrays einer jQuery-Auswahl - Javascript, jQuery, Arrays, Schleifen, Selektor

Schnellste Möglichkeit, das Rückgabearray einer jQuery-Auswahl zu filtern - javascript, jquery, arrays, loops, selector

Ich suche nach einer Methode zum Filtern des Rückgabearrays der jQuery-Auswahl.

Nehmen wir an, ich habe das Array von Elementen, das von jQuery zurückgegeben wird:

window.elementSet = $("element");

Nun möchte ich dieses Array filtern, um nur Elemente mit der Klasse "car" anzuzeigen. ohne Neugestaltung des Selektors, so

window.elementSetOfCars = $("element.car");

Da der zurückgegebene Wert ein Array von Elementen ist, können wir einfach .filter oder .grep oder eine einfache for / while-Schleife verwenden, um die Klassen jedes Elements mit .hasClass () oder attr ("class") zu überprüfen. , oder Wasauchimmer.

Was ist die schnellste Methode dafür?

Antworten:

2 für die Antwort № 1

Sie könnten Folgendes tun:

var elementSetOf = window.elementSet.filter(function(val,i,arr){
return (val.className.indexOf("car") >= 0);
});

Bedenken Sie jedoch, dass das Ergebnis von $ (selector) eigentlich kein Array ist, sondern ein "Array-ähnliches" Objekt, was bedeutet, dass viele Array-Methoden und -Eigenschaften funktionieren, aber nicht alle. Mehr Infos hier