Array multidimensionali in Javascript

Nella guida a Javascript del sito abbiamo visto cosa sono gli array (puoi leggere la lezione) e li abbiamo trattati nel loro aspetto piรน semplice, ovvero quello monodimensionale (a dimensione singola). In questo articolo, ci concentreremo sugli array multidimensionali, un concetto fondamentale per gestire dati complessi, e vedremo un esempio di implementazione di un array bidimensionale e di un array tridimensionale in Javascript.

Array Monodimensionali

Lo scopo di avere array a piรน dimensioni รจ quello di costruire gabbie complesse di dati, a differenza dei semplici schemi logici a cui siamo abituati, seguendo la stessa filosofia dei database relazionali.

Pubblicitร 

Un array monodimensionale ha il seguente aspetto:

const arrayMonodimensionale = [1, 2, 3, 4, 5];

Possiamo aggiungere un nuovo item come segue:

arrayMonodimensionale.push(6);

Per accedere al suo valore, richiamando lโ€™item dellโ€™array desiderato, ad esempio il terzo elemento:

console.log(arrayMonodimensionale[2]); // Restituisce 3

Adesso abbandoniamo per un attimo questo concetto e vediamo come popolare un array multidimensionale. Questo ci permette di ricreare degli array sulla scorta degli item dellโ€™array madre.

Array Bidimensionali

La sintassi per popolare un array bidimensionale รจ la seguente:

const arrayBidimensionale = [
  [1, 2, 3],
  [4, 5, 6],
  [7, 8, 9]
];

Adesso possiamo accedere a un item di un array come segue:

console.log(arrayBidimensionale[1][2]); // Restituisce 6

Vediamo ora, attraverso un ciclo, come accedere a tutti gli item del nostro array multidimensionale:

for (let i = 0; i < arrayBidimensionale.length; i++) {
  for (let j = 0; j < arrayBidimensionale[i].length; j++) {
    console.log(arrayBidimensionale[i][j]);
  }
} // Restituisce 1, 2, 3, 4, 5, 6, 7, 8, 9

Trattandosi di un array bidimensionale, abbiamo utilizzato un doppio ciclo per fornire lโ€™accesso a tutti gli elementi.

Array Tridimensionali

La stessa filosofia viene utilizzata per gli array tridimensionali. Vediamo ora, modificando lโ€™esempio precedente, come implementare un array a tre dimensioni. Innanzitutto dichiariamo lโ€™array:

const arrayTridimensionale = [
  [
    [1, 2],
    [3, 4]
  ],
  [
    [5, 6],
    [7, 8]
  ]
];

Ora aggiungiamo un elemento al nodo che contiene i valori 1 e 2:

arrayTridimensionale[0][0].push(9);

Vediamo ora come estrarre gli item con un ciclo. Prima, dichiariamo le variabili โ€œcontatoreโ€ che utilizzeremo per il ciclo:

for (let i = 0; i < arrayTridimensionale.length; i++) {
  for (let j = 0; j < arrayTridimensionale[i].length; j++) {
    for (let k = 0; k < arrayTridimensionale[i][j].length; k++) {
      console.log(arrayTridimensionale[i][j][k]);
    }
  }
} // Restituisce: 1, 2, 9, 3, 4, 5, 6, 7, 8

Conclusioni

Lโ€™articolo che abbiamo proposto non รจ finalizzato a offrire un esempio pratico di utilizzo degli array multidimensionali, ma torna utile come appendice puramente didattica della guida a Javascript del sito. Gli array, siano essi monodimensionali o multidimensionali, sono tipi di dati molto pesanti in termini di consumo di risorse. Esorto quindi il lettore a farne uso solo quando strettamente necessario.

Altri contenuti interessanti

Pubblicitร 

Potrebbero interessarti queste guide

Leggi anche...

Servire immagini 2x con JavaScript o jQuery su display Retina e ad alta densitร 

Oggi la qualitร  visiva sul web รจ piรน importante...

Bloccare lโ€™orientamento di una pagina web su smartphone: come forzare la modalitร  portrait o landscape

Nellโ€™era mobile-first, lโ€™esperienza utente sui dispositivi mobili รจ un...

Numeri Random in JavaScript

La generazione di numeri random (numeri casuali) รจ unโ€™operazione...

Infinite scroll, come programmarlo su AMP e su Web con Javascript

L'infinite scroll รจ una tecnica di design e navigazione...

Codice Fiscale: 5 javascript per la verifica e il calcolo

Il codice fiscale รจ un identificativo tributario univoco che...

Math.ceil() โ€“ Arrotondare per eccesso con Javascript

Il metodo ceil() dell'oggetto Math di Javascript รจ utilizzato...
Pubblicitร