15.10.2012 Views

Actionscript 3 Entwicklerhandbuch

Actionscript 3 Entwicklerhandbuch

Actionscript 3 Entwicklerhandbuch

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

ACTIONSCRIPT 3.0 ENTWICKLERHANDBUCH<br />

Verwenden von Arrays<br />

Mithilfe eines Array-Objekts können Sie an jeder Indexposition ein Element erstellen. Dagegen ist es mit einem<br />

Vector-Objekt nur möglich, eine vorhandene Indexposition oder der nächsten verfügbaren Indexposition einen Wert<br />

zuzuweisen. Die nächste verfügbare Indexposition entspricht der length-Eigenschaft des Vector-Objekts. Die<br />

sicherste Methode, einem Vector-Objekt ein neues Element hinzuzufügen, wird im folgenden Codebeispiel<br />

veranschaulicht:<br />

myVector[myVector.length] = valueToAdd;<br />

Mithilfe von drei Methoden der Array- und Vector-Klassen – push(), unshift() und splice() – können Sie<br />

Elemente in ein indiziertes Array einfügen. Mit der push()-Methode werden ein oder mehrere Elemente am Ende<br />

eines Arrays angehängt. Mit anderen Worten, das letzte mithilfe der push()-Methode in das Array eingefügte Element<br />

weist die höchste Indexnummer auf. Mit der unshift()-Methode werden ein oder mehrere Elemente am Anfang<br />

eines Arrays eingefügt, und zwar immer bei Indexposition 0. Mit der splice()-Methode wird eine beliebige Anzahl<br />

von Elementen an einer bestimmten Indexposition in einem Array eingefügt.<br />

Im folgenden Beispiel werden alle drei Methoden veranschaulicht. Ein Array namens planets wird erstellt, um die<br />

Namen der Planeten in der Reihenfolge ihrer Nähe zur Sonne zu speichern. Als Erstes wird die push()-Methode<br />

aufgerufen, um das erste Element, Mars, hinzuzufügen. Dann wird die unshift()-Methode aufgerufen, um das<br />

Element Mercury (Merkur) am Anfang des Arrays einzufügen. Schließlich wird die splice()-Methode aufgerufen,<br />

um die Elemente Venus und Earth (Erde) nach Mercury, jedoch vor Mars einzufügen. Mit dem ersten an splice()<br />

übergebenen Argument, der Ganzzahl 1, wird angegeben, dass die Elemente an der Indexposition 1 eingefügt werden<br />

sollen. Mit dem zweiten an splice() gesendeten Argument, der Ganzzahl 0, wird angegeben, dass keine Elemente<br />

gelöscht werden sollen. Bei dem dritten und vierten Argument, Venus und Earth, die an splice() gesendet werden,<br />

handelt es sich um die einzufügenden Elemente.<br />

var planets:Array = new Array();<br />

planets.push("Mars"); // array contents: Mars<br />

planets.unshift("Mercury"); // array contents: Mercury,Mars<br />

planets.splice(1, 0, "Venus", "Earth");<br />

trace(planets); // array contents: Mercury,Venus,Earth,Mars<br />

Mit den Methoden push() und unshift() wird jeweils eine vorzeichenlose Ganzzahl zurückgegeben, die die Länge<br />

des geänderten Arrays angibt. Wenn die splice()-Methode zum Einfügen von Elementen verwendet wird, wird ein<br />

leeres Array zurückgegeben. Dies ist auf die Vielseitigkeit der splice()-Methode zurückzuführen. Sie können die<br />

splice()-Methode nicht nur zum Einfügen von Elementen in ein Array, sondern auch zum Entfernen von<br />

Elementen aus einem Array verwenden. Wenn die splice()-Methode zum Entfernen von Elementen verwendet<br />

wird, wird ein Array mit den entfernten Elementen zurückgegeben.<br />

Hinweis: Wenn die fixed-Eigenschaft eines Vector-Objekts auf true eingestellt ist, kann die Gesamtanzahl der<br />

Elemente im Vektor sich nicht ändern. Wenn Sie versuchen, einem Vector-Objekt mit fester Länge mithilfe der hier<br />

beschriebenen Verfahren ein neues Element hinzuzufügen, tritt ein Fehler auf.<br />

Abrufen von Werten und Entfernen von Array-Elementen<br />

Flash Player 9 und höher, Adobe AIR 1.0 und höher<br />

Am einfachsten können Sie den Wert eines Elements aus einem indizierten Array abrufen, indem Sie den Array-<br />

Zugriffsoperator ([]) verwenden. Um den Wert eines Elements in einem indizierten Array abzurufen, verwenden Sie<br />

den Namen des Array- oder Vector-Objekts und die Indexnummer auf der rechten Seite einer Zuweisungsanweisung:<br />

var myFavoriteSong:String = songTitles[3];<br />

Es kann versucht werden, den Wert von einem Array- oder Vector-Objekt mithilfe eines Indexes abzurufen, an dem<br />

keine Elemente existieren. In diesem Fall gibt ein Array-Objekt den Wert „undefined“ zurück und ein Vector-Objekt<br />

gibt eine RangeError-Ausnahme aus.<br />

Letzte Aktualisierung 27.6.2012<br />

32

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!