Oggi parliamo della creazione di un array a tre dimensioni in javascript.
La necessità di scrivere questo articolo nasce da una certa disinformazione in giro per la rete (http://www.mrwebmaster.it/tutorial/js/tutorial612-2.htm). Quello degli array multidimensionali è un argomento spesso trascurato o cmq trattato male e con pochi esempi pratici.
Come al solito presentiamo subito il caso:
var arr = new Array(); //prima dimensione (x)
arr[0] = new Array(); //seconda dimensione per il primo campo (0,y)
arr[1] = new Array(); //seconda dimensione per il secondo campo (1,y)
arr[0][0] = new Array(); //terza dimensione su (0,0) quindi (0,0,z)
arr[0][1] = new Array(); //terza dimensione su (0,1) quindi (0,1,z)
arr[1][0] = new Array(); //terza dimensione su (1,0) quindi (1,0,z)
arr[1][1] = new Array(); //terza dimensione su (1,1) quindi (1,1,z)
//combinazioni:
arr[0][0][0] = '0 0 0';
arr[0][0][1] = '0 0 1';
arr[0][1][1] = '0 1 1';
arr[1][1][1] = '1 1 1';
arr[1][1][0] = '1 1 0';
arr[1][0][0] = '1 0 0';
arr[0][1][0] = '0 1 0';
arr[1][0][1] = '1 0 1';
//visualizziamo il contenuto dell’array: arr[1][0][0]
alert(arr[1][0][0]);
bene, fine della storia. Tutto qua, si tratta solo di muoversi all’interno di array che a loro volta si trovano all’interno di altri array. Non c’è trucco e non c’è inganno.
Naturalmente, una volta chiarite le idee procediamo con l’automatizzarne il procedimento:
var arr = new Array(); //prima dimensione (x)
var str = 'Array 3D:'; //stringa per l’output
for (var x = 0 ; x <>
arr[x] = new Array(); //seconda dimensione
for (var y = 0 ; y <>
arr[x][y] = new Array(); //terza dimensione
for (var z = 0 ; z <>
arr[x][y][z] = x+' '+y+' '+z; //popolamento
str += arr[x][y][z] + ' ';
}
}
}
document.write(str); //output
Come si nota dal codice bastano solo tre cicli for nidificati per inizializzare e popolare il nostro array 3d.
NB: per provare il codice javascript di cui sopra ricordarsi di inserirlo tra i tag script! :P
Ciauz!
3 commenti:
Ma che cazzo... hanno cambiato il modo per postare i commenti. Cmq lo hai smerdato sul forum di mrwebmaster a quello?
il modo di postare l'ho cambiato io! Così è più comodo... e poi ora puoi postare senza registrarti!
Cmq non mi va di mettermi a scrivere su quel forum! Mi dovrei pure registrare! No no...
e come fai a mettere i commenti così???
Posta un commento