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.
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.

