JavaScript  »  Guide  »  Guida jQuery 

Lavorare con gli array



brerie, jQuery non offre un gruppo troppo nutrito di funzioni di utilità generica. Questo approccio segue l'idea secondo cui non serve reinventare ciò che è già disponibile. La conseguenza diretta di tutto ciò è un minor peso della libreria ed un maggior affidamento ai metodi JavaScript nativi.

Lavorare sugli Array

Il primo gruppo di utility riguarda gli array, con particolare riguardo alla possibilità di ciclare fra i valori.

La funzione $.map() cicla fra gli elementi di un array passato come primo argomento applicando su ognuno la funzione passata come secondo argomento. Questa funzione, a differenza di altri metodi jQuery, accetta un primo argomento indicante il valore dell'elemento ed una seconda con il suo indice nell'array:

$.map(["uno","due","tre"],function (indice,valore) {
    return indice+valore;
});
//restituisce un array ["0uno","1due","2tre"];

Molto simile a $.map() è $.grep() che tuttavia ha la specifica funzione di filtrare gli elementi in base al valore restituito da una funzione specifica. Inoltre in $.grep() la posizione degli argomenti della funzione di filtraggio è invertita:

var lettere = ["a","aa","aaa"];
$.grep(lettere, function (valore,indice) {
        return this.length >= 2;
});
//lettere è ["aa","aaa"]

Se viene passato un terzo argomento false, verranno restituiti i valori che non verificano la condizione:

var lettere = ["a","aa","aaa"];
$.grep(lettere, function (valore,indice) {
        return this.length >= 2;
},false);
//lettere è ["a"]

Se quello che ci interessa è invece sapere se un valore è presente all'interno di un array useremo $.inArray() passandogli il valore da ricercare e l'array in cui cercarlo:

$.inArray(4,[2,3,4]);
//restituisce true

Per unire due array, infine, è disponibile $.merge():

$.merge( [0,1,2], [2,3,4] )
//restituisce [0,1,2,2,3,4]
//i duplicati non sono eliminati!

La maggior parte delle funzioni presentate finora opera solo con array, tuttavia potrebbe presentarsi il caso in cui non si sia sicuri del tipo di variabile che possediamo o comunque si voglia convertirla in array. In tal caso useremo $.makeArray():

//un array rimane tale
$.makeArray([0,1,2]);
// [0,1,2]

//un oggetto diventa l'unico valore di un array
$.makeArray({"chiave1":"valore1"});
// [{"chiave1":"valore1"}]

Questa funzione può anche risultare utile per convertire un array di elementi DOM (che non è un "vero e proprio" array):

var elementi = document.getElementsByTagName("div");
//elementi.constructor == Object

$.makeArray(elementi);

//elementi.constructor == Array

Infine, per verificare se una variabile è un vero array possiamo usare $.isArray():

$.isArray([0,1,2]); // restituisce true

Ultimi articoli JavaScript

PhantomJS, headless browser per test con Javascript

Il tool ideale per realizzare, da terminale, operazioni in remoto su...

Creare e leggere QR Code in JavaScript

Applicazioni 'QR Code enabled' per il Web e per il mobile,...

Jquery UI Map: web-mapping con Google Maps e jQuery

Un plugin di jQuery UI per intefacciare applicaizoni Web/mobile con...

Scrollorama e Scrolldeck, slideshow d'effetto con jQuery

Plugin jQuery per ottenere Slideshow con diversi effetti di scrolling

jCanvas, un primo semplice grafico

Alla scoperta della libreria jCanvas, per semplificare il disegno e...

Altri articoli

Guide JavaScript

Guida Node.js

Il framework che permette di per usare V8, l'interprete JavaScript...

Canvas, guida ai framework

Canvas, tra gli elementi di HTML5 è forse quello di maggior impatto....

Guida Javascript: tecniche avanzate

Una guida dal taglio pratico per approfondire la programmazione a...

Altre guide

Newsletter @JavaScript

Ogni martedì, direttamente nella tua e-mail: guide, articoli, script, novità e approfondimenti tecnici su JavaScript.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Corso Webmaster base

18 Giugno 2012 a Milano
Disponibilità: 6 Posti

Corso Google AdWords Base

25 Giugno 2012 a Milano
Disponibilità: 7 Posti

Corso JQuery e Ajax per Webmaster

03 Luglio 2012 a Milano
Disponibilità: 7 Posti

Corso Google AdWords Base

05 Giugno 2012 a Roma
Disponibilità: 7 Posti

Corso Webmaster base

11 Giugno 2012 a Roma
Disponibilità: 7 Posti