I modulen Array betraktet vi arrays som en liste som vi kunne indeksere med et heltall.
Javascripts arraybegrep er mer sammensatt og vi kan plukke elementer fra en array med nøkler, keys, som
ikke er heltall. Vi kan på mange måter sammenligne denne mekanismen med det
vi i andre språk kaller "hashtabeller".
Nedenfor skal vi se på tre eksempler. To av dem inkluderer objekter.
Dette finner du mer om i modulene Objekter og Klasser
Eksempel 1
Vi definerer følgende
_test1.js
// global array of cars
var cArray=[];
function setUp1(){
cArray['AA123']='ford';
cArray['BB123']='mercedes';
cArray['CC123']='toyota';
}
function getCar1(regno,dump){
document.getElementById(dump).innerHTML=
regno+" er en "+cArray[regno];
}
Eksempel 2
Vi lager her en struktur der vi plasserer objekter osm verdier tilrordnet en nøkkel.
Et objekt er altså:
{eier:"jensen",type:"ford"}
_test2.js
// global array of cars
var cArray2=[];
function setUp2(){
cArray2['AA123']={eier:"jensen",type:"ford"};
cArray2['BB123']={eier:"hansen",type:'mercedes'};
cArray2['CC123']={eier:"nilsen",type:'toyote'};
}
function getCar2(regno,dump){
document.getElementById(dump).innerHTML=
regno+" eies av "+cArray2[regno].eier+" og er en "+cArray2[regno].type;
}
Eksemple 3
Her lagrer vi forekomster, objekter, av klassen Person, som verdier tilordnet nøklene.
_test3.js
// global array of cars
var cArray3=[];
// and owners
var pArray3=[];
function Person(navn,adresse){
this.navn=navn;
this.adresse=adresse;
this.show=function(){
return this.navn+" fra "+this.adresse;
}
}
function setUp3(){
pArray3.push(new Person('hansen','Halden'));
pArray3.push(new Person('jensen','Moss'));
cArray3['AA123']={eier:pArray3[0]};
cArray3['BB123']={eier:pArray3[1]};
cArray3['CC123']={eier:pArray3[1]};
}
function dumpCars(dump){
var S=""
for(var key in cArray3){
S+=key+" eies av: "+cArray3[key].eier.show()+"<br/>";
}
document.getElementById(dump).innerHTML=S;
}