English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Spiegazione dettagliata del metodo grep() di jQuery e codice di esempio

Cos'è jQuery.grep()?

  jQuery.grep() è una funzione che trova gli elementi dell'array che soddisfano la funzione di filtraggio. L'array originale non viene influenzato, il valore di ritorno è un array.

Descrizione dell'uso:

Scrittura:

jQuery.grep(array, function(elementOfArray, indexInArray) [, invert] )

  Descrizione dei parametri:

array

Tipo: Array
Array utilizzato per interrogare l'elemento.

function(elementOfArray, indexInArray)

Tipo: Function()

Questa funzione viene utilizzata per confrontare ogni elemento. Il primo parametro è l'elemento dell'array che viene controllato, il secondo parametro è il valore dell'indice dell'elemento. La funzione dovrebbe restituire un valore booleano. this sarà l'oggetto globale window.

  elementOfArray--elemento dell'array
  indexInArray--valore dell'indice dell'elemento dell'array

invert

Tipo: Boolean

Se "invert" è false, o non è fornito, la funzione restituisce un array di tutti gli elementi che restituiscono true nel "callback". Se "invert" è true, la funzione restituisce un array di tutti gli elementi che restituiscono false nel "callback".   

Esempio: Filtra gli elementi dell'array originale che non hanno valore 5 e indici superiori a 4. Poi filtra tutti gli elementi con valore 9.

<!DOCTYPE html>
<html>
<head>
 <style>
 div { color:blue; }
 p { color:green; margin:0; }
 span { color:red; }
 </style>
 <script src="http://cdn.bootcss.com/jquery/1.11.2/jquery.min.js"></script>
</head>
<body>
 <div></div>
 <p></p>
 <span></span>
<script>
var arr = [ 1, 9, 3, 8, 6, 1, 5, 9, 4, 7, 3, 8, 6, 9, 1 ];
$("div").text(arr.join(", "));
arr = jQuery.grep(arr, function(n, i){
 return (n != 5 && i > 4);
});
$("p").text(arr.join(", "));
arr = jQuery.grep(arr, function (a) { return a != 9; });
$("span").text(arr.join(", "));
</script>
</body>
</html>

  Il risultato è:

1, 9, 3, 8, 6, 1, 5, 9, 4, 7, 3, 8, 6, 9, 1
1, 9, 4, 7, 3, 8, 6, 9, 1
1, 4, 7, 3, 8, 6, 1

Grazie per aver letto, spero di essere stato d'aiuto, grazie per il supporto al nostro sito!

Ti potrebbe interessare