Utilizzo delle matrici
In JScript è possibile utilizzare numerosi tipi di matrici. Le informazioni fornite di seguito riguardano le modalità di utilizzo di queste matrici e i criteri per la scelta del tipo più appropriato a una specifica applicazione.
Matrici unidimensionali
Nell'esempio seguente viene illustrato come accedere al primo e all'ultimo elemento della matrice addressBook. Si presume che in un'altra parte dello script sia definito e assegnato un valore ad addressBook. Dal momento che in JScript le matrici sono a indice zero, il primo elemento di una matrice è zero e l'ultimo equivale alla lunghezza della matrice meno uno.
var firstAddress = addressBook[0];
var lastAddress = addressBook[addressBook.length-1];
Matrici di matrici eMatrici multidimensionali
È possibile memorizzare dati cui facciano riferimento più indici all'interno di matrici di matrici o di matrici multidimensionali. Ogni tipo di matrice è caratterizzato da funzionalità uniche.
Le matrici di matrici sono utili per le applicazioni in cui ogni sottomatrice è di lunghezza differente. Dato che le matrici possono essere facilmente riorganizzate, risulta facilitato l'ordinamento dei relativi elementi. Un esempio di tipico utilizzo di tali matrici è rappresentato da un calendario in cui la matrice Year memorizzi dodici matrici Month e ogni matrice Month memorizzi dati per un numero appropriato di giorni.
Le matrici multidimensionali sono utili per le applicazioni che impiegano matrici le cui dimensioni sono note al momento della dichiarazione. Le matrici multidimensionali sono più efficienti delle matrici di matrici in termini di velocità e di consumo di memoria. Le matrici multidimensionali devono essere matrici tipizzate. Un esempio tipico di utilizzo è rappresentato da una matrice impiegata per l'esecuzione di calcoli matematici, le cui dimensioni sono fisse e note dall'inizio.
Esecuzione di cicli su elementi di matrice JScript
Dato che le matrici JScript sono sparse, possono contenere un numero elevato di elementi indefiniti compresi tra il primo e l'ultimo. Pertanto, se si utilizza un ciclo for per accedere agli elementi di matrice, è necessario controllare se ciascun elemento è undefined.
In JScript è disponibile un ciclo for...in che consente di accedere più facilmente solo agli elementi definiti di una matrice JScript. Nel seguente esempio viene definita una matrice JScript sparsa e ne vengono visualizzati gli elementi mediante l'impiego del ciclo for e del ciclo for...in:
var a : Array = new Array;
a[5] = "first element";
a[100] = "middle element";
a[100000] = "last element";
print("Using a for loop. This is very inefficient.")
for(var i = 0; i<a.length; i++)
if(a[i]!=undefined)
print("a[" + i + "] = " + a[i]);
print("Using a for...in loop. This is much more efficient.");
for(var i in a)
print("a[" + i + "] = " + a[i]);
L'output del programma è il seguente:
Using a for loop. This is very inefficient.
a[5] = first element
a[100] = middle element
a[100000] = last element
Using a for...in loop. This is much more efficient.
a[5] = first element
a[100] = middle element
a[100000] = last element
Vedere anche
Riferimenti
Concetti
Matrici multidimensionali (Visual Studio - JScript)