PROGRAMMIAMO
JS - Array associativi
Array associativi

Un array associativo è un vettore che come indice usa una chiave ovvero un nome letterale, al posto di un indice numerico. Facciamo un esempio per chiarire il concetto. Supponiamo di voler memorizzare la traduzione in inglese di una serie di parole in italiano. A tale scopo possiamo usare un array associativo così definito:

var parole = [];
parole["casa"] = "house";
parole["porta"] = "door";
parole["cane"] = "dog";
parole["finestra"] = "window";
...

Si noti come al posto di parole[0], parole[1] etc. in questo caso abbiamo usato come indice del vettore una stringa ("casa", "porta" eccetera).

Qual è il vantaggio? Supponiamo di voler creare un semplice dizionario tramite un form in cui bisogna inserire una parola in italiano e premere un pulsante TRADUCI per avere la traduzione in inglese. Supponendo che la input text contenente la parola da tradurre si chiami "italiano" e che la funzione traduci() sia chiamata sul click sul pulsante TRADUCI, il codice JS per trovare la traduzione in inglese è semplicemente questo:

function traduci()
{
var parola_ita, parola_ing;

parola_ita = document.getElementById("italiano").value;
parola_ing = parole[parola_ita];

alert(parola_ing);
}

Si osservi come la parola letta dalla input text (parola_ita) viene usata come indice nel vettore parole per ottenere la traduzione in inglese. Naturalmente se la corrispondente traduzione non esiste si ottiene il valore undefined.

Se si vogliono visualizzare tutti gli elementi di un vettore associativo bisogna usare un ciclo di questo tipo:

for (i in parole)
        alert(parole[i]);

Abbiamo già incontrato questa sintassi nella lezione precedente. In questo caso il suo uso è pressoché obbligato poiché per i vettori associativi la proprietà length vale sempre zero e dunque non è possibile utilizzarla per sapere quanti elementi contiene il vettore.

 

precedente - successiva

Sito realizzato in base al template offerto da

http://www.graphixmania.it