/ / Il modo più veloce per filtrare l'array di ritorno di una selezione jQuery: javascript, jquery, array, loop, selettore

Il modo più veloce per filtrare l'array di restituzione di una selezione jQuery: javascript, jquery, array, loop, selector

Sto cercando un metodo per filtrare l'array di ritorno della selezione jQuery.

Diciamo che ho l'array di elementi che viene restituito da jQuery:

window.elementSet = $("element");

Ora, vorrei filtrare questo array, per visualizzare solo gli elementi con classe "car", senza riprogettazione del selettore, quindi

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

Dato che il valore restituito è un array di elementi, potremmo semplicemente usare .filter, o .grep, o un semplice ciclo for / while, dove controlliamo le classi di ogni elemento con .hasClass (), o attr ("class") o qualsiasi altra cosa.

Qual è il metodo più veloce per questo?

risposte:

2 per risposta № 1

Potresti fare quanto segue:

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

Tuttavia, tenere presente che il risultato di $ (selettore) non è in realtà un array, ma piuttosto un oggetto "simile a array", il che significa che molti metodi e proprietà dell'array funzioneranno, ma non tutti. Maggiori informazioni qui