ansis - Javascript lernen Arrays mit Wertepaaren

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:

  1. Füge eine weitere Farbe hinzu.
  2. Ä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.
  3. 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]
  4. 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.
  5. 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);
  6. 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]);