Eindimensionale Array können nur einen Wert pro Arrayelement
speichern.
Ein Element kann aber auch selbst ein Array sein.
Beginnen wir mit Arrays von Wertepaaren.
|
Ausgabe des JavaScript-Programms
red,rot green,grün blue,blau yellow,gelb green blau
|
Aufgaben: Ändere das
Programm ab:
- Füge eine weitere Farbe hinzu.
- Ändere die Definition in ein Array von Wertetripel.
Ein Tripel besteht aus dem englischen und deutschen
Farbnamen und dem Hexadezimalcode der Farbe.
Ordne den Programmcode wie folgt übersichtlicher an.
farbe = new
Array(["red","rot","FF0000"],
["green","grün","00FF00"],
["blue","blau","0000FF"]);
Gib den Hexadezimalcode der Farbe rot aus.
- Modifiziere die Arraydefinition wie folgt:
farbe = new
Array([["red","rot"],"FF0000"],
[["green","grün"],"00FF00"],
[["blue","blau"],"0000FF"] );
Welche Werte liefern folgenden Adressierungen:
farbe[1]
farbe[1][0]
farbe[1][1]
farbe[1][2]
farbe[1][0][0]
farbe[1][0][1]
farbe[1][1][0]
farbe[1][0][2]
- Hier wird eine Wertetabelle durch ein Array von
n-Tupel definiert.
messwerte = new Array(
["n", "t", "s", "v", "a"],
[ 1 , 0 , 2 , 3.5, 0.1],
[ 2 , 1.5, 7.8, 4.2, 0.2],
[ 3 , 2.7, 8.1, 0,9,-0.1],
[ 4 , 4,7, 9.9, 0.1,-0.2]
);
Gib die Liste der t- und v-Werte aus.
Merke: Dies ist auch ein Beispiel für ein
zweidimensionales Array von Zahlen.
- Zusatz:
Beispiel für eine durch eine Tabelle formatierte Ausgabe.
t="<table border='1'>";
for(i=0;i<messwerte.length;i++){
t+="<tr><td>"+messwerte[i][1]+"</td><td>"+messwerte[i][3]+"</td></tr>";
}
t+="</table>";
ausgabe(t);
- Initialisierung eines
dreidimensionalen Arrays
n=3;
cube=new
Array([[111,112,113],[121,122,123],[131,132,133]],
[[211,212,213],[221,222,223],[231,232,233]],
[[311,312,313],[321,322,323],[331,332,333]]
)
m=0;
for(x=0;x<n;x++) {
for(y=0;y<n;y++) {
for(z=0;z<n;z++) {
cube[x][y][z]=(x+1)*100+(y+1)*10+z+1;
m++
ausgabe(m+". "+cube[x][y][z]);
}
}
}
ausgabe(cube.length);
ausgabe(cube[2][2][2]);
oder auch so
cube=new Array();
m=0;
for(x=0;x<n;x++) {
cube[x]=new Array(n);
for(y=0;y<n;y++) {
cube[x][y]=new Array(n);
for(z=0;z<n;z++) {
cube[x][y][z]=(x+1)*100+(y+1)*10+z+1;
m++
ausgabe(m+". "+cube[x][y][z]);
}
}
}
ausgabe(cube.length);
ausgabe(cube[2][2][2]);
|
|
|
|