Hauptmenü

Untermenü

JavaScript - Objekte - Arrays

1. Hinweis

In meiner PHP-Einführung zum Thema Arrays habe ich die grundsätzliche Arbeitsweise mit Arrays schon ausführlich erläutert. Also lest euch das bitte zuerst durch, damit ihr wisst, um was es sich eigentlich handelt. Hier geht es nur noch um die Besonderheiten bei JavaScript.

2. Das Objekt

Bei den Grundlagen zu den Arrays in PHP habe ich euch schon die Wirkungsweise und Vorteile zu vermitteln versucht. Kommen wir nun zum großen Unterschied. Wie ich eingangs bereits erwähnte, sind Arrays in JavaScript keine "verketteten" Listen wie in PHP, sondern Objekte (leider). Das macht das Arbeiten damit nicht besonders komfortabel, aber da müssen wir durch.

3. Erzeugen eines Array-Objektes

Hier stellt uns JavaScript drei grundsätzliche Möglichkeiten zur Verfügung, mit denen man im Gegensatz zu PHP immer anfangen muss.


var mein_array = new Object ();
var mein_array = Array ();
var mein_array = new Array ();

Fragt mich bitte nicht nach dem Unterschied zwischen Array und new Array, das habe ich bis heute noch nicht begriffen. Was die Initialisierung mittels Object angeht, so kann ich euch sagen, dass in diesem Fall zum Beispiel eine Abfrage der Anzahl über mein_array.length nicht funktioniert. Solche Arrays müssen immer mit einer for ... in Schleife ausgelesen werden. Um auf Nummer sicher zu gehen, sollte man immer die Standardmethode new Array nehmen.

Mehrdimensionale Arrays

Sobald in JavaScript ein Array ein weiteres enthalten soll, muss man wieder so vorgehen wie oben. Es ist leider nicht möglich, einfach mit eckigen Klammern zu arbeiten, so wie man das aus PHP gewohnt ist:


var mein_array = new Array ();
mein_array [0] = new Array ();

4. Vergabe eines Indizes

Solange man ein Array nicht so mit Inhalten befüllt bla = new Array ('blubb','blubber'), muss man immer explizit einen Index angeben, völlig egal ob der nun numerisch oder alphanumerisch ist:


var mein_array     = new Array ();
mein_array[0]      = 'blubb';
meine_array['bla'] = 'blubber';

So etwas wie in PHP ist leider nicht möglich:


<?php
  $name[] = 'Hinz';
  $name[] = 'Kunz';
?>

5. Assoziative Arrays

... gibt es in dem Sinne bei JavaScript nicht! Man kann dem Kind zwar einen Namen geben, aber die Verarbeitung unterscheidet sich doch deutlich zu der von PHP. So ist in so einem Fall zum Beispiel eine Abfrage nach der Anzahl von Einträgen nicht möglich:


bla      = new Array ();
bla['a'] = 'blubb';
bla['b'] = 'blubber'
bla['c'] = 'schwall';
alert (bla.length);

Hier bekommt ihr im Gegensatz zu PHP doch tatsächlich eine 0 zurückgeliefert, auch wenn das Array drei(!) Einträge hat. Und weil das alles ziemlich krank ist, gibt es zu diesem Thema sogar ein eigenes Tutorial.

zurück zum vorherigen Abschnitt weiter zum nächsten Abschnitt