Array

<script language="JavaScript" type="text/javascript">

wochentag=new Array( "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag","Samstag","Sonntag");
document.write(wochentag[5]);

</script>


siehe auch neinen Flash AS3 Tipp

Wie auf der vorigen Seite erwähnt, wird eine Instanz von Array mit dem Schlüsselwort new und dem Aufruf der Konstruktorfunktion erstellt.
Nun gibt es 3 Möglichkeiten

var instanzname = new Array();
var instanzname = new Array(Zahl);
var instanzname = new Array(element0, element1, element2, element3, element4, element5);

  1. wird benutzt wenn man noch nicht weiß, wieviele Elemente in dem Variablenvektor gespeichert werden sollen, die Werte werden später zugewiesen
  2. wenn man die Anzahl der Elemente kennt, die Werte werden später zugewiesen.
  3. wenn man zum Zeitpunkt der Definition bereits die Werte kennt. Diese werden sogleich dem Variablenvektor zugewiesen. Außerdem ist es hier möglich die Werte so zuzuweisen, wie es auf der vorigen Seite erklärt wurde.

wochentag=new Array("Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag","Samstag");
Im Beispiel wochentag wird ein Feld mit 7 Elementen erzeugt, die mit den als Parameter übergebenen Elementen "Sonntag","Montag", ...bis "Samstag"gefüllt sind.
Diese Elemente werden der Reihe nach einem numerischen Index bei 0 beginnend zugewiesen, das heißt wochentag[0]="Sonntag"; wochentag[1]="Montag";.....etc.


Nun kann ich mir wieder mittels eines Zahlenwertes den Inhalt dieses Elementes anzeigen lassen. Um beispielsweise Freitag anzeigen zu lassen, sieht die Sache so aus.
document.write( wochentag[5]);

Verschiedene Arten Arrays zu erzeugen

Die zugewiesen Werte der einzelnen Elemente können einen unterschiedlichen Datentyp haben, Siehe ar4

Das fünfte Beispiel bezeichnet man auch als die JSON Notation, welches für den Austausch von Daten genutzt wird. Hier kann man auch mit Punktnotation auf die Elemente zugreifen. Es ist eigentlich kein Array sondern ein Objekt.

ar5.name liefert den Wert "Hubert"

Mehrdimensionales Array

Mit einem mehrdimensionalen Array kann man datenbankähnliche Strukturen erzeugen. Man kann es auf verschiedene Arten erzeugen.

  var team =  new Array();
  team[0] = ["Walter", "Berg", "Waldheim" ];
  team[1] = ["Gisela", "Gans", "Bauerndorf"];
  team[2] = ["Frieda", "Frieden", "Friedrichsruh"];
  console.log(team[0][2]); //Waldheim
  console.log(team[1][0]); //Gisela
  console.log(team[2][1]); //Frieden

Eine andere Möglichkeit, die jedoch etwas unübersichtlicher ist:

var numeric = [
      ['Walter','Hirsch'],
      ['Friedel','Dachs']  
      ];
        numeric[0][0] == 'Walter';
        numeric[0][1] == 'Hirsch';  
        numeric[1][0] == 'Friedel';  
        numeric[1][1] == 'Dachs';
 

 

Nicht numerischer Index , assosiative Arrays oder Objekte

Anstatt eines numerischen Index kann man auch einen String verwenden. Der Index ist eigentlich ein Schlüssel , eines Objects. Ein assosiatives Array nennt man in Javascript ein Object. Es ist dem Array ähnlich. Es ist nicht so leicht zu handhaben. Die Eigenschaft length oder die Methode sort lassen sich auf so ein Object nicht anwenden.

Auf dieser Seite ist das Thema sehr schön erklärt.

teilnehmer = new Array();
teilnehmer["Bernd"] = "Bernd Wienecke, Grüner Weg 42, Rudolfingen"
teilnehmer["Klaus"] = "Klaus Stallmeister, Im Suhrkamp, Krachhausen"
teilnehmer["Hans"] = "Hans Freihaus, Kampstrasse, Oberdorfheim"
teilnehmer["Günter"] = "Günter Netzhemd, Ballerweg, Torfingen"

document.write( teilnehmer["Günter"]);

2 Arrays vergleichen

Folgende Funktion erwartet 2 Arrays. Wenn beide Arrays identisch sind, gibt die Funktion true zurück.

function checkArray(ar1, ar2){
	for (var i = 0; i < ar1.length; i++) {
			if (ar1[i] != ar2[i]) {
				return false;
			}
		}
		return true;
}

Im folgenden Funktionsaufruf muss es ein aepfel und eine birnen Array geben.

var allesEineSosse = checkArray(aepfel, birnen);


Bevor es mit den Objekten weitergeht, beschäftigen wir uns auf der nächsten Seite mal mit dem Datum.

 

Javascript Tipps