La funzione grep() in jQuery
La funzione .grep opera sugli array e consente di verificare se al suo interno è presente un determinato valore.
Sintassi funzione grep in jQuery
// crea un array nuovo senza toccare l'array iniziale
// con function(item, index) indichiamo i parametri :
// item: inidca gli elementi dell'array considerato
// index: catalogazione da 0 degli elementi dell'array
$.grep(array, function(index, value) {
//...
});
Esempio di funzione grep in jQuery
let stars = ['Andromeda','Aquario','Aquila','Ariete','Auriga','Balena','Bilancia','Boote','Bulino','Bussola','Camaleonte','Cancro','Cane Maggiore','Cane Minore','Cani da Caccia','Capricorno','Carena','Cassiopea','Cavallino','Cefeo','Centauro','Chioma di Berenice','Cigno','Colomba','Compasso','Corona Australe','Corona Boreale','Corvo','Cratere','Croce del Sud','Delfino','Dorado','Dragone','Ercole','Eridano','Fenice','Fornace','Freccia','Gemelli','Giraffa','Gru','Idra','Idro','Indiano','Leone','Leone Minore','Lepre','Lince','Lira','Lucertola','Lupo','Macchina pneumatica','Mensa','Microscopio','Mosca','Ofiuco','Orione'];
Codice della Lezione : funzione grep in jQuery
$(document).ready(function(){
// costruzione array JS
let stars = ['Andromeda','Aquario','Aquila','Ariete','Auriga','Balena','Bilancia','Boote','Bulino','Bussola','Camaleonte','Cancro','Cane Maggiore','Cane Minore','Cani da Caccia','Capricorno','Carena','Cassiopea','Cavallino','Cefeo','Centauro','Chioma di Berenice','Cigno','Colomba','Compasso','Corona Australe','Corona Boreale','Corvo','Cratere','Croce del Sud','Delfino','Dorado','Dragone','Ercole','Eridano','Fenice','Fornace','Freccia','Gemelli','Giraffa','Gru','Idra','Idro','Indiano','Leone','Leone Minore','Lepre','Lince','Lira','Lucertola','Lupo','Macchina pneumatica','Mensa','Microscopio','Mosca','Ofiuco','Orione'];
// crea un array nuovo senza toccare l'array iniziale
// con function(item, index) indichiamo i parametri :
// item: inidca gli elementi dell'array considerato
// index: catalogazione da 0 degli elementi dell'array
let newStars = $.grep(stars,function(item , index){
//output di tutti i valori contenuti nell'array che iniziano con la lettera l
return(item.charAt(0) == 'L')
});
let oldStars = $.grep(stars,function(item , index){
/* chiudendo con i booleani false e true, si definisce quali elementi mostrare,
ad esempio, con false andremo ad indicare tutti gli elementi che iniziano con c,
mentre con true tutti gli altri.
*/
return(item.charAt(0) == 'C')
},false);
/* Creare dei range: in questo caso con (index > 1 && index < 5) abbiamo stabilito
che deve riportare solo gli elementi compresi tra 2 e 9 (2 e 9 esclusi)
*/
let rangeStars = $.grep(stars,function(item, index){
return(index > 2 && index < 9);
});
// dove inserire
$('#button1').on('click',function(){
$('#txtID1').html('L\'array newStars è '+ newStars + '');
});
$('#button2').on('click',function(){
$('#txtID2').html('L\'array oldStars è '+ oldStars + '');
});
$('#button3').on('click',function(){
$('#txtID3').html('L\'array rangeStars è '+ rangeStars + '');
});
});