| Paket | Oberste Ebene |
| Klasse | public dynamic class Array |
| Vererbung | Array Object |
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
[0], das zweite Element [1] usw. Verwenden Sie zum Erstellen eines Array-Objekts den Konstruktor new Array(). Array() kann auch als Funktion aufgerufen werden. Zudem können Sie den Array-Zugriffsoperator ([]) verwenden, um ein Array zu initialisieren oder auf die Elemente eines Arrays zuzugreifen.
Sie können viele unterschiedliche Datentypen in einem Array-Element speichern, z. B. Zahlen, Strings, Objekte und auch andere Arrays. Außerdem haben Sie die Möglichkeit, ein mehrdimensionales Array zu erstellen, indem Sie ein indiziertes Array anlegen und jedem seiner Elemente ein weiteres indiziertes Array zuweisen. Diese Arrays werden als mehrdimensional bezeichnet, da sie zur Darstellung von Daten in einer Tabelle verwendet werden können.
Arrays sind karge Arrays, d. h., sie weisen unter Umständen ein Element auf Indexposition 0 und ein weiteres auf Position 5 auf, dazwischen jedoch keine Elemente. In diesem Fall sind die Elemente in Position 1 bis 4 nicht definiert, wodurch das Fehlen eines Elements angezeigt wird, nicht unbedingt das Vorhandensein eines Elements mit dem Wert undefined.
Die Zuweisung von Arrays erfolgt nicht mithilfe von Werten, sondern über Verweise. Wenn Sie eine Array-Variable einer anderen zuweisen, verweisen beide Variablen auf das gleiche Array:
var oneArray:Array = new Array("a", "b", "c");
var twoArray:Array = oneArray; // Both array variables refer to the same array.
twoArray[0] = "z";
trace(oneArray); // Output: z,b,c.
Allerdings sollten Sie mithilfe der Array-Klasse keine assoziativen Arrays (auch als hashes bezeichnet) erstellen, bei denen es sich um Datenstrukturen mit bezeichneten statt numerierten Elementen handelt. Um assoziative Arrays zu erstellen, verwenden Sie die Object-Klasse. ActionScript ermöglicht zwar auch das Erstellen assoziativer Arrays mithilfe der Array-Klasse, Sie können dann jedoch keine der Methoden oder Eigenschaften der Array-Klasse verwenden.
Sie können die Array-Klasse erweitern und Methoden überschreiben oder hinzufügen. Allerdings müssen Sie die Unterklasse als dynamic angeben, da Sie sonst die Fähigkeit, Daten in einem Array zu speichern, verlieren.
Siehe auch
| Eigenschaft | Definiert von | ||
|---|---|---|---|
![]() | constructor : Object
Ein Verweis auf das Klassenobjekt oder die Konstruktorfunktion für eine angegebene Objektinstanz.
| Object | |
| length : uint
Eine nicht negative Ganzzahl, die die Anzahl von Elementen im Array angibt.
| Array | ||
![]() | prototype : Object
[static] Ein Verweis auf das Prototypobjekt einer Klasse oder eines Funktionsobjekts.
| Object | |
| Methode | Definiert von | ||
|---|---|---|---|
|
Ermöglicht das Erstellen eines Arrays mit der angegebenen Anzahl an Elementen.
| Array | ||
|
Ermöglicht das Erstellen eines Arrays mit der angegebenen Anzahl an Elementen.
| Array | ||
|
Verkettet die in den Parametern angegebenen Elemente mit den Elementen in einem Array und erstellt ein neues Array.
| Array | ||
|
Führt für jedes Element im Array eine Testfunktion aus, bis ein Element erreicht wird, das für die angegebene Funktion "false" zurückgibt.
| Array | ||
|
Führt für jedes Element im Array eine Testfunktion aus und erstellt ein neues Array für alle Elemente, die für die angegebene Funktion "true" zurückgeben.
| Array | ||
|
Führt für jedes Element im Array eine Funktion aus.
| Array | ||
![]() |
Gibt an, ob für ein Objekt eine bestimmte Eigenschaft definiert wurde.
| Object | |
|
Sucht nach einem Element in einem Array unter Verwendung strikter Gleichheit (===), und gibt die Indexposition des Elements zurück.
| Array | ||
![]() |
Gibt an, ob eine Instanz der Object-Klasse in der Prototypkette des Objekts vorhanden ist, das als Parameter angegeben wurde.
| Object | |
|
Wandelt die Elemente in einem Array in Strings um, fügt zwischen ihnen das angegebene Trennzeichen ein, verkettet die Elemente und gibt den resultierenden String zurück.
| Array | ||
|
Sucht rückwärts, vom letzten Element aus, nach einem Element in einem Array und gibt die Indexposition des Elements zurück, das unter Verwendung des strikten Gleichheitsoperators (===) übereinstimmt.
| Array | ||
|
Führt für jedes Element in einem Array eine Funktion aus, und erstellt ein neues Array mit Elementen, die den Ergebnissen der Funktion entsprechen.
| Array | ||
|
Entfernt das letzte Element aus einem Array und gibt den Wert dieses Elements zurück.
| Array | ||
![]() |
Gibt an, ob die angegebene Eigenschaft vorhanden ist und durchlaufen werden kann.
| Object | |
|
Fügt am Ende eines Arrays ein oder mehrere Elemente hinzu und gibt die neue Länge des Arrays zurück.
| Array | ||
|
Kehrt die Reihenfolge der Array-Elemente im Array um.
| Array | ||
![]() |
Legt die Verfügbarkeit einer dynamischen Eigenschaft für Schleifenoperationen fest.
| Object | |
|
Entfernt das erste Element aus einem Array und gibt dieses Element zurück.
| Array | ||
|
Gibt ein neues Array zurück, das aus mehreren Elementen des ursprünglichen Arrays besteht, ohne das ursprüngliche Array dabei zu ändern.
| Array | ||
|
Führt für jedes Element im Array eine Testfunktion aus, bis ein Element erreicht wird, das "true" zurückgibt.
| Array | ||
|
Sortiert die Elemente in einem Array.
| Array | ||
|
Sortiert die Elemente in einem Array nach mindestens einem Feld im Array.
| Array | ||
|
Fügt einem Array Elemente hinzu bzw. entfernt diese.
| Array | ||
|
Gibt einen String zurück, der die Elemente im angegebenen Array repräsentiert.
| Array | ||
|
Gibt einen String zurück, der die Elemente im angegebenen Array repräsentiert.
| Array | ||
|
Fügt am Anfang eines Arrays ein oder mehrere Elemente hinzu und gibt die neue Länge des Arrays zurück.
| Array | ||
![]() |
Gibt den Grundwert des angegebenen Objekts zurück.
| Object | |
| Konstante | Definiert von | ||
|---|---|---|---|
| CASEINSENSITIVE : uint = 1 [static] Legt als Sortiermethode für die Array-Klasse eine Sortierung ohne Beachtung der Groß- und Kleinschreibung fest.
| Array | ||
| DESCENDING : uint = 2 [static] Legt als Sortiermethode für die Array-Klasse eine absteigende Sortierreihenfolge fest.
| Array | ||
| NUMERIC : uint = 16 [static] Legt als Sortiermethode für die Array-Klasse eine numerische (statt einer stringbasierten) Sortierreihenfolge fest.
| Array | ||
| RETURNINDEXEDARRAY : uint = 8 [static] Legt fest, dass eine Sortierung ein Array zurückgibt, der aus Arrayindizes besteht.
| Array | ||
| UNIQUESORT : uint = 4 [static] Legt als Sortiermethode für die Array-Klasse eine eindeutige Sortierreihenfolge fest.
| Array | ||
| length | Eigenschaft |
length:uint [read-write]
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Eine nicht negative Ganzzahl, die die Anzahl von Elementen im Array angibt. Diese Eigenschaft wird automatisch aktualisiert, wenn dem Array neue Elemente hinzugefügt werden. Sobald Sie einem Array-Element einen Wert zuweisen (z. B. my_array[index] = value) und wenn index eine Zahl und index+1 größer als die length-Eigenschaft ist, wird die length-Eigenschaft auf index+1 aktualisiert.
Hinweis: Wenn Sie der length-Eigenschaft einen Wert zuweisen, der kleiner ist als die tatsächliche Länge des Arrays, wird das Array abgeschnitten.
public function get length():uint public function set length(value:uint):void names mit dem Element Bill erstellt. Anschließend wird mithilfe der push()-Methode das String-Element Kyle hinzugefügt. Die Länge des Arrays, die durch die length-Eigenschaft bestimmt wird, betrug ein Element bevor f push() angewendet wurde; nach dem Aufrufen von push() beträgt sie zwei Elemente. Ein weiterer String, Jeff, wird hinzugefügt, damit names eine Länge von drei Elementen hat. Anschließend wird die shift()-Methode zweimal aufgerufen, um Bill und Kyle zu entfernen. Abschließend hat length eine Länge von eins.
var names:Array = new Array("Bill");
names.push("Kyle");
trace(names.length); // 2
names.push("Jeff");
trace(names.length); // 3
names.shift();
names.shift();
trace(names.length); // 1| Array | () | Konstruktor |
public function Array(numElements:int = 0)
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Ermöglicht das Erstellen eines Arrays mit der angegebenen Anzahl an Elementen. Wenn Sie keine Parameter angeben, wird ein Array erstellt, der 0 Elemente enthält. Wenn Sie eine bestimmte Anzahl an Elementen angeben, wird ein Array mit numElements Elementen erstellt.
Hinweis: Diese Klasse zeigt zwei Konstruktormethodeneinträge, da der Konstruktor Argumente verschiedenen Typs akzeptiert. Der Konstruktor verhält sich unterschiedlich, je nach Typ und Anzahl der übergebenen Argumente, wie sie in den einzelnen Einträgen beschrieben sind. Überladene Methoden oder Konstruktoren werden von ActionSript 3.0 nicht unterstützt.
ParameternumElements:int (default = 0) — Eine Ganzzahl, die die Anzahl von Elementen im Array angibt.
|
RangeError — Das Argument ist eine Zahl, die keine Ganzzahl größer oder gleich 0 ist.
|
Siehe auch
myArr mit der Ausgangslänge 0 erstellt:
package {
import flash.display.Sprite;
public class Array_Array extends Sprite {
public function Array_Array() {
var myArr:Array = new Array();
trace(myArr.length); // 0
}
}
}"one" gefüllt und fügt das Stringelement "six" am Ende des Arrays mithilfe der push()-Methode hinzu:
package {
import flash.display.Sprite;
public class Array_Array_2 extends Sprite {
public function Array_Array_2() {
var myArr:Array = new Array(5);
trace(myArr.length); // 5
myArr[0] = "one";
myArr.push("six");
trace(myArr); // one,,,,,six
trace(myArr.length); // 6
}
}
}| Array | () | Konstruktor |
public function Array(... values)
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Ermöglicht das Erstellen eines Arrays mit der angegebenen Anzahl an Elementen. Sie können Werte beliebigen Typs angeben. Das erste Element in einem Array hat immer den Index oder die Position 0.
Hinweis: Diese Klasse zeigt zwei Konstruktoreinträge, da der Konstruktor Argumente verschiedenen Typs akzeptiert. Der Konstruktor verhält sich unterschiedlich, je nach Typ und Anzahl der übergebenen Argumente, wie sie in den einzelnen Einträgen beschrieben sind. Überladene Methoden oder Konstruktoren werden von ActionSript 3.0 nicht unterstützt.
Parameter... values — Eine Liste mit mindestens zwei beliebigen Werten.
Hinweis: Wenn an den Array-Konstruktor nur ein einziger numerischer Parameter übergeben wird, wird davon ausgegangen, dass er die |
RangeError — Das Argument ist eine Zahl, die keine Ganzzahl größer oder gleich 0 ist.
|
Siehe auch
one, two und three gefüllt und anschließend werden die Elemente in einen String umgewandelt.
package {
import flash.display.Sprite;
public class Array_Array_3 extends Sprite {
public function Array_Array_3() {
var myArr:Array = new Array("one", "two", "three");
trace(myArr.length); // 3
trace(myArr); // one,two,three
}
}
}| concat | () | Methode |
AS3 function concat(... args):Array
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Verkettet die in den Parametern angegebenen Elemente mit den Elementen in einem Array und erstellt ein neues Array. Wenn die Parameter ein Array angeben, werden die Elemente dieses Arrays verkettet.
Parameter
... args — Ein Wert beliebigen Datentyps (wie etwa Zahlen, Elemente oder Strings) der in einem neuen Array verkettet werden soll. Wenn Sie keine Werte übergeben, wird das neue Array als Duplikat des ursprünglichen Arrays erstellt.
|
Array — Ein Array mit den Elementen dieses Arrays und den Elementen aus den Parametern.
|
numbers-Array, das die Zahlen 1, 2 und 3 enthält. letters-Array, das die Buchstaben a, b und c enthält. numbersAndLetters-Array, das die concat()-Methode aufruft, um das Array [1,2,3,a,b,c] zu erstellen. lettersAndNumbers-Array, das die concat()-Methode aufruft, um das Array [a,b,c,1,2,3] zu erstellen.
var numbers:Array = new Array(1, 2, 3);
var letters:Array = new Array("a", "b", "c");
var numbersAndLetters:Array = numbers.concat(letters);
var lettersAndNumbers:Array = letters.concat(numbers);
trace(numbers); // 1,2,3
trace(letters); // a,b,c
trace(numbersAndLetters); // 1,2,3,a,b,c
trace(lettersAndNumbers); // a,b,c,1,2,3| every | () | Methode |
AS3 function every(callback:Function, thisObject:* = null):Boolean
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Führt für jedes Element im Array eine Testfunktion aus, bis ein Element erreicht wird, das für die angegebene Funktion false zurückgibt. Sie verwenden diese Methode, um zu ermitteln, ob alle Elemente in einem Array ein Kriterium erfüllen, z. B. dass die Werte unter einer bestimmten Zahl liegen.
Für diese Methode muss der zweite Parameter (thisObject) den Wert null haben, wenn der erste Parameter (callback) ein Methodenabschluss ist. Angenommen, Sie erstellen eine Funktion in einem Movieclip mit dem Namen me:
function myFunction(obj:Object):void { //Hier eigenen Code eingeben }
Nehmen Sie weiter an, Sie wenden dann die Methode every() auf ein Array mit dem Namen myArray an:
myArray.every(myFunction, me);
Da myFunction ein Mitglied der Timeline-Klasse ist, die von me nicht überschrieben werden kann, wird Flash Player eine Ausnahme auslösen. Sie können diesen Laufzeitfehler vermeiden, indem Sie die Funktion wie folgt einer Variable zuweisen:
var myFunction:Function = function(obj:Object):void { //Hier eigenen Code eingeben }; myArray.every(myFunction, me);
Parameter
callback:Function — Die Funktion, die für jedes Element im Array ausgeführt werden soll. Diese Funktion kann einen einfachen Vergleich enthalten (z. B. item < 20) oder eine komplexere Operation und wird mit drei Argumenten aufgerufen, nämlich dem Wert eines Elements, dem Index eines Elements und einem Array-Objekt:
function callback(item:*, index:int, array:Array):Boolean; |
|
thisObject:* (default = null) — Ein Objekt, das als this-Wert für die Funktion verwendet wird.
|
Boolean — Der boolesche Wert true, wenn alle Elemente im Array für die Funktion true zurückgeben; andernfalls false.
|
Siehe auch
isNumeric ist true für das erste Array und false für das zweite:
package {
import flash.display.Sprite;
public class Array_every extends Sprite {
public function Array_every() {
var arr1:Array = new Array(1, 2, 4);
var res1:Boolean = arr1.every(isNumeric);
trace("isNumeric:", res1); // true
var arr2:Array = new Array(1, 2, "ham");
var res2:Boolean = arr2.every(isNumeric);
trace("isNumeric:", res2); // false
}
private function isNumeric(element:*, index:int, arr:Array):Boolean {
return (element is Number);
}
}
}
| filter | () | Methode |
AS3 function filter(callback:Function, thisObject:* = null):Array
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Führt für jedes Element im Array eine Testfunktion aus und erstellt ein neues Array für alle Elemente, die für die angegebene Funktion true zurückgeben. Gibt ein Element false zurück, wird es nicht in den neuen Array aufgenommen.
Für diese Methode muss der zweite Parameter (thisObject) den Wert null haben, wenn der erste Parameter (callback) ein Methodenabschluss ist. Angenommen, Sie erstellen eine Funktion in einem Movieclip mit dem Namen me:
function myFunction(obj:Object):void { //Hier eigenen Code eingeben }
Nehmen Sie weiter an, Sie wenden dann die Methode filter() auf ein Array mit dem Namen myArray an:
myArray.filter(myFunction, me);
Da myFunction ein Mitglied der Timeline-Klasse ist, die von me nicht überschrieben werden kann, wird Flash Player eine Ausnahme auslösen. Sie können diesen Laufzeitfehler vermeiden, indem Sie die Funktion wie folgt einer Variable zuweisen:
var myFunction:Function = function(obj:Object):void { //Hier eigenen Code eingeben }; myArray.filter(myFunction, me);
Parameter
callback:Function — Die Funktion, die für jedes Element im Array ausgeführt werden soll. Diese Funktion kann einen einfachen Vergleich enthalten (z. B. item < 20) oder eine komplexere Operation und wird mit drei Argumenten aufgerufen, nämlich dem Wert eines Elements, dem Index eines Elements und einem Array-Objekt:
function callback(item:*, index:int, array:Array):Boolean; |
|
thisObject:* (default = null) — Ein Objekt, das als this-Wert für die Funktion verwendet wird.
|
Array — Ein neues Array, das alle Elemente des ursprünglichen Arrays enthält, die den Wert true zurückgegeben haben.
|
Siehe auch
package {
import flash.display.Sprite;
public class Array_filter extends Sprite {
public function Array_filter() {
var employees:Array = new Array();
employees.push({name:"Employee 1", manager:false});
employees.push({name:"Employee 2", manager:true});
employees.push({name:"Employee 3", manager:false});
trace("Employees:");
employees.forEach(traceEmployee);
var managers:Array = employees.filter(isManager);
trace("Managers:");
managers.forEach(traceEmployee);
}
private function isManager(element:*, index:int, arr:Array):Boolean {
return (element.manager == true);
}
private function traceEmployee(element:*, index:int, arr:Array):void {
trace("\t" + element.name + ((element.manager) ? " (manager)" : ""));
}
}
}| forEach | () | Methode |
AS3 function forEach(callback:Function, thisObject:* = null):void
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Führt für jedes Element im Array eine Funktion aus.
Für diese Methode muss der zweite Parameter (thisObject) den Wert null haben, wenn der erste Parameter (callback) ein Methodenabschluss ist. Angenommen, Sie erstellen eine Funktion in einem Movieclip mit dem Namen me:
function myFunction(obj:Object):void { //Hier eigenen Code eingeben }
Nehmen Sie weiter an, Sie wenden dann die Methode forEach() auf ein Array mit dem Namen myArray an:
myArray.forEach(myFunction, me);
Da myFunction ein Mitglied der Timeline-Klasse ist, die von me nicht überschrieben werden kann, wird Flash Player eine Ausnahme auslösen. Sie können diesen Laufzeitfehler vermeiden, indem Sie die Funktion wie folgt einer Variable zuweisen:
var myFunction:Function = function(obj:Object):void { //Hier eigenen Code eingeben }; myArray.forEach(myFunction, me);
Parameter
callback:Function — Die Funktion, die für jedes Element im Array ausgeführt werden soll. Diese Funktion kann einen einfachen Befehl enthalten (z. B. trace()) oder eine komplexere Operation und wird mit drei Argumenten aufgerufen, nämlich dem Wert eines Elements, dem Index eines Elements und einem Array-Objekt:
function callback(item:*, index:int, array:Array):void; |
|
thisObject:* (default = null) — Ein Objekt, das als this-Wert für die Funktion verwendet wird.
|
trace()-Anweisung in der traceEmployee()-Funktion für jedes Element im Array ausgeführt:
package {
import flash.display.Sprite;
public class Array_forEach extends Sprite {
public function Array_forEach() {
var employees:Array = new Array();
employees.push({name:"Employee 1", manager:false});
employees.push({name:"Employee 2", manager:true});
employees.push({name:"Employee 3", manager:false});
trace(employees);
employees.forEach(traceEmployee);
}
private function traceEmployee(element:*, index:int, arr:Array):void {
trace(element.name + " (" + element.manager + ")");
}
}
}trace()-Anweisung in einer leicht abgewandelten traceEmployee()-Funktion für jedes Element im Array ausgeführt:
package {
import flash.display.Sprite;
public class Array_forEach_2 extends Sprite {
public function Array_forEach_2() {
var employeeXML:XML = <employees>
<employee name="Steven" manager="false" />
<employee name="Bruce" manager="true" />
<employee name="Rob" manager="false" />
</employees>;
var employeesList:XMLList = employeeXML.employee;
var employeesArray:Array = new Array();
for each (var tempXML:XML in employeesList) {
employeesArray.push(tempXML);
}
employeesArray.sortOn("@name");
employeesArray.forEach(traceEmployee);
}
private function traceEmployee(element:*, index:Number, arr:Array):void {
trace(element.@name + ((element.@manager == "true") ? " (manager)" : ""));
}
}
}| indexOf | () | Methode |
AS3 function indexOf(searchElement:*, fromIndex:int = 0):int
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Sucht nach einem Element in einem Array unter Verwendung strikter Gleichheit (===), und gibt die Indexposition des Elements zurück.
Parameter
searchElement:* — Das Element, das im Array gesucht werden soll.
|
|
fromIndex:int (default = 0) — Die Position im Array, ab der die Suche nach dem Element gestartet werden soll.
|
int — Eine auf Null basierende Indexposition des Elements im Array. Wird das Argument searchElement nicht gefunden, lautet der Rückgabewert -1.
|
Siehe auch
package {
import flash.display.Sprite;
public class Array_indexOf extends Sprite {
public function Array_indexOf() {
var arr:Array = new Array(123,45,6789);
arr.push("123-45-6789");
arr.push("987-65-4321");
var index:int = arr.indexOf("123");
trace(index); // -1
var index2:int = arr.indexOf(123);
trace(index2); // 0
}
}
}| join | () | Methode |
AS3 function join(sep:*):String
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Wandelt die Elemente in einem Array in Strings um, fügt zwischen ihnen das angegebene Trennzeichen ein, verkettet die Elemente und gibt den resultierenden String zurück. Ein verschachteltes Array wird immer durch ein Komma getrennt und nicht durch das Trennzeichen, das an die join()-Methode übergeben wurde.
Parameter
sep:* — Ein Zeichen oder String, mit dem die Array-Elemente im zurückgegebenen String voneinander getrennt werden. Wenn Sie diesen Parameter weglassen, wird als Standardtrennzeichen das Komma verwendet.
|
String — Ein String, der aus den Elementen eines Arrays besteht, die in Strings umgewandelt und durch den angegebenen Parameter getrennt werden sollen.
|
Siehe auch
myArr mit den Elementen one, two und three erstellt. Anschließend wird ein String, der one and two and three enthält, mithilfe der join()-Methode erstellt.
var myArr:Array = new Array("one", "two", "three");
var myStr:String = myArr.join(" and ");
trace(myArr); // one,two,three
trace(myStr); // one and two and threespecialChars mit den Elementen (, ), - und einer Leerstelle erstellt. Anschließend wird ein String erstellt, der (888) 867-5309 enthält. Dann werden mithilfe einer for-Schleife alle in specialChars aufgelisteten Sonderzeichentypen entfernt, um einen String (myStr) zu erstellen, der nur die Zahlen der verbleibenden Telefonnummer enthält: 888675309. Beachten Sie, dass möglicherweise andere Zeichen, wie etwa +, zu specialChars hinzugefügt wurden. Diese Routine würde dann mit internationalen Telefonnummerformaten funktionieren.
var phoneString:String = "(888) 867-5309";
var specialChars:Array = new Array("(", ")", "-", " ");
var myStr:String = phoneString;
var ln:uint = specialChars.length;
for(var i:uint; i < ln; i++) {
myStr = myStr.split(specialChars[i]).join("");
}
var phoneNumber:Number = new Number(myStr);
trace(phoneString); // (888) 867-5309
trace(phoneNumber); // 8888675309| lastIndexOf | () | Methode |
AS3 function lastIndexOf(searchElement:*, fromIndex:int = 0x7fffffff):int
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Sucht rückwärts, vom letzten Element aus, nach einem Element in einem Array und gibt die Indexposition des Elements zurück, das unter Verwendung des strikten Gleichheitsoperators (===) übereinstimmt.
Parameter
searchElement:* — Das Element, das im Array gesucht werden soll.
|
|
fromIndex:int (default = 0x7fffffff) — Die Position im Array, ab der die Suche nach dem Element gestartet werden soll. Standard ist der maximale für einen Index erlaubte Wert. Wenn Sie fromIndex nicht angeben, beginnt die Suche bei dem letzten Element im Array.
|
int — Eine auf Null basierende Indexposition des Elements im Array. Wird das Argument searchElement nicht gefunden, lautet der Rückgabewert -1.
|
Siehe auch
package {
import flash.display.Sprite;
public class Array_lastIndexOf extends Sprite {
public function Array_lastIndexOf() {
var arr:Array = new Array(123,45,6789,123,984,323,123,32);
var index:int = arr.indexOf(123);
trace(index); // 0
var index2:int = arr.lastIndexOf(123);
trace(index2); // 6
}
}
}| map | () | Methode |
AS3 function map(callback:Function, thisObject:* = null):Array
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Führt für jedes Element in einem Array eine Funktion aus, und erstellt ein neues Array mit Elementen, die den Ergebnissen der Funktion entsprechen.
Für diese Methode muss der zweite Parameter (thisObject) den Wert null haben, wenn der erste Parameter (callback) ein Methodenabschluss ist. Angenommen, Sie erstellen eine Funktion in einem Movieclip mit dem Namen me:
function myFunction(obj:Object):void { //Hier eigenen Code eingeben }
Nehmen Sie weiter an, Sie wenden dann die Methode map() auf ein Array mit dem Namen myArray an:
myArray.map(myFunction, me);
Da myFunction ein Mitglied der Timeline-Klasse ist, die von me nicht überschrieben werden kann, wird Flash Player eine Ausnahme auslösen. Sie können diesen Laufzeitfehler vermeiden, indem Sie die Funktion wie folgt einer Variable zuweisen:
var myFunction:Function = function(obj:Object):void { //Hier eigenen Code eingeben }; myArray.map(myFunction, me);
Parameter
callback:Function — Die Funktion, die für jedes Element im Array ausgeführt werden soll. Diese Funktion kann einen einfachen Befehl enthalten (z. B. die Groß-/Kleinschreibung in einem Array an Strings umschalten) oder eine komplexere Operation und wird mit drei Argumenten aufgerufen, nämlich dem Wert eines Elements, dem Index eines Elements und einem Array-Objekt:
function callback(item:*, index:int, array:Array):void; |
|
thisObject:* (default = null) — Ein Objekt, das als this-Wert für die Funktion verwendet wird.
|
Array — Ein neues Array, das die Ergebnisse der Funktion enthält, die für jedes Element im ursprünglichen Array ausgeführt wurde.
|
Siehe auch
package {
import flash.display.Sprite;
public class Array_map extends Sprite {
public function Array_map() {
var arr:Array = new Array("one", "two", "Three");
trace(arr); // one,two,Three
var upperArr:Array = arr.map(toUpper);
trace(upperArr); // ONE,TWO,THREE
}
private function toUpper(element:*, index:int, arr:Array):String {
return String(element).toUpperCase();
}
}
}| pop | () | Methode |
AS3 function pop():*
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Entfernt das letzte Element aus einem Array und gibt den Wert dieses Elements zurück.
Rückgabewerte* — Der Wert des letzten Elements (beliebigen Typs) im angegebenen Array.
|
Siehe auch
letters mit den Elementen a, b und c erstellt. Der letzte Element (c) wird dann mithilfe der pop()-Methode aus dem Array entfernt und dem String-Objekt letter zugewiesen.
var letters:Array = new Array("a", "b", "c");
trace(letters); // a,b,c
var letter:String = letters.pop();
trace(letters); // a,b
trace(letter); // c| push | () | Methode |
AS3 function push(... args):uint
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Fügt am Ende eines Arrays ein oder mehrere Elemente hinzu und gibt die neue Länge des Arrays zurück.
Parameter
... args — Ein oder mehrere Werte, die an das Array angehängt werden.
|
uint — Eine Ganzzahl, die die Länge des neuen Arrays angibt.
|
Siehe auch
letters erstellt und mit den Elementen a, b und c mithilfe der push()-Methode gefüllt.
var letters:Array = new Array();
letters.push("a");
letters.push("b");
letters.push("c");
trace(letters.toString()); // a,b,cletters erstellt, das zunächst mit dem Element a gefüllt wird. Dann werden durch einmaliges Anwenden der push()-Methode die Elemente b und c am Ende des Arrays hinzugefügt, d. h. drei Elemente nach dem "push".
var letters:Array = new Array("a");
var count:uint = letters.push("b", "c");
trace(letters); // a,b,c
trace(count); // 3| reverse | () | Methode |
AS3 function reverse():Array
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Kehrt die Reihenfolge der Array-Elemente im Array um.
RückgabewerteArray — Das neue Array.
|
letters mit den Elementen a, b und c erstellt. Anschließend wird die Reihenfolge der Array-Elemente mithilfe der reverse()-Methode umgekehrt, um das Array [c,b,a] zu erstellen.
var letters:Array = new Array("a", "b", "c");
trace(letters); // a,b,c
letters.reverse();
trace(letters); // c,b,a| shift | () | Methode |
AS3 function shift():*
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Entfernt das erste Element aus einem Array und gibt dieses Element zurück. Die verbleibenden Array-Elemente werden von ihrer ursprünglichen Position, i, nach i-1 verschoben.
Rückgabewerte* — Das erste Element (beliebigen Datentyps) in einem Array.
|
Siehe auch
letters mit den Elementen a, b und c erstellt. Dann wird mithilfe der shift()-Methode das erste Elemente (a) aus letters entfernt und dem String firstLetter zugewiesen.
var letters:Array = new Array("a", "b", "c");
var firstLetter:String = letters.shift();
trace(letters); // b,c
trace(firstLetter); // a| slice | () | Methode |
AS3 function slice(startIndex:int = 0, endIndex:int = 16777215):Array
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Gibt ein neues Array zurück, das aus mehreren Elementen des ursprünglichen Arrays besteht, ohne das ursprüngliche Array dabei zu ändern. Das zurückgegebene Array umfasst das Element startIndex und alle Elemente bis (ausschließlich) zum Element endIndex.
Wenn Sie keine Parameter übergeben, wird eine Kopie des ursprünglichen Arrays erstellt.
Parameter
startIndex:int (default = 0) — Eine Zahl, die die Indexposition des Segmentanfangs angibt. Wenn startIndex eine negative Zahl ist, liegt der Ausgangspunkt am Ende des Arrays, wobei -1 das letzte Element ist.
|
|
endIndex:int (default = 16777215) — Eine Zahl, die die Indexposition des Segmentendes angibt. Wenn Sie diesen Parameter weglassen, umfasst das Segment alle Elemente vom Anfang bis zum Ende des Arrays. Wenn endIndex eine negative Zahl ist, wird der Endpunkt vom Ende des Arrays aus berechnet, wobei -1 das letzte Element ist.
|
Array — Ein Array, das aus mehreren Elementen des ursprünglichen Arrays besteht.
|
letters mit den Elementen [a,b,c,d,e,f] erstellt. Anschließend wird das Array someLetters erstellt, und zwar durch den Aufruf der Methode slice() für die Elemente 1 (b) bis 3 (d). Dadurch entsteht ein Array mit den Elementen b und c.
var letters:Array = new Array("a", "b", "c", "d", "e", "f");
var someLetters:Array = letters.slice(1,3);
trace(letters); // a,b,c,d,e,f
trace(someLetters); // b,cletters mit den Elementen [a,b,c,d,e,f] erstellt. Anschließend wird das Array someLetters erstellt, und zwar durch den Aufruf der Methode slice() für das Elemente 2 (c). Dadurch entsteht ein Array mit den Elementen [c,d,e,f].
var letters:Array = new Array("a", "b", "c", "d", "e", "f");
var someLetters:Array = letters.slice(2);
trace(letters); // a,b,c,d,e,f
trace(someLetters); // c,d,e,f
letters mit den Elementen [a,b,c,d,e,f] erstellt. Anschließend wird das Array someLetters erstellt, und zwar durch den Aufruf der Methode slice() für das vorletzte Element (e). Dadurch entsteht ein Array mit den Elementen e und f.
var letters:Array = new Array("a", "b", "c", "d", "e", "f");
var someLetters:Array = letters.slice(-2);
trace(letters); // a,b,c,d,e,f
trace(someLetters); // e,f
| some | () | Methode |
AS3 function some(callback:Function, thisObject:* = null):Boolean
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Führt für jedes Element im Array eine Testfunktion aus, bis ein Element erreicht wird, das true zurückgibt. Verwenden Sie diese Methode, um festzustellen, ob alle Elemente in einem Array ein Kriterium erfüllen, z. B. dass die Werte unter einer bestimmten Zahl liegen.
Für diese Methode muss der zweite Parameter (thisObject) den Wert null haben, wenn der erste Parameter (callback) ein Methodenabschluss ist. Angenommen, Sie erstellen eine Funktion in einem Movieclip mit dem Namen me:
function myFunction(obj:Object):void { //Hier eigenen Code eingeben }
Nehmen Sie weiter an, Sie wenden dann die Methode some() auf ein Array mit dem Namen myArray an:
myArray.some(myFunction, me);
Da myFunction ein Mitglied der Timeline-Klasse ist, die von me nicht überschrieben werden kann, wird Flash Player eine Ausnahme auslösen. Sie können diesen Laufzeitfehler vermeiden, indem Sie die Funktion wie folgt einer Variable zuweisen:
var myFunction:Function = function(obj:Object):void { //Hier eigenen Code eingeben }; myArray.some(myFunction, me);
Parameter
callback:Function — Die Funktion, die für jedes Element im Array ausgeführt werden soll. Diese Funktion kann einen einfachen Vergleich enthalten (z. B. item < 20) oder eine komplexere Operation und wird mit drei Argumenten aufgerufen, nämlich dem Wert eines Elements, dem Index eines Elements und einem Array-Objekt:
function callback(item:*, index:int, array:Array):Boolean; |
|
thisObject:* (default = null) — Ein Objekt, das als this-Wert für die Funktion verwendet wird.
|
Boolean — Der boolesche Wert true, wenn ein Element im Array für die angegebene Funktion true zurückgibt; andernfalls false.
|
Siehe auch
package {
import flash.display.Sprite;
public class Array_some extends Sprite {
public function Array_some() {
var arr:Array = new Array();
arr[0] = "one";
arr[1] = "two";
arr[3] = "four";
var isUndef:Boolean = arr.some(isUndefined);
if (isUndef) {
trace("array contains undefined values: " + arr);
} else {
trace("array contains no undefined values.");
}
}
private function isUndefined(element:*, index:int, arr:Array):Boolean {
return (element == undefined);
}
}
}| sort | () | Methode |
AS3 function sort(... args):Array
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Sortiert die Elemente in einem Array. Diese Methode sortiert nach Unicode-Werten. (ASCII ist eine Untergruppe von Unicode.)
In der Standardeinstellung funktioniert Array.sort() wie folgt:
Um ein Array in einer von den Standardeinstellungen abweichenden Reihenfolge zu sortieren, können Sie entweder eine der im Abschnitt sortOptions des ...args-Parameters beschriebenen Sortierreihenfolgen verwenden oder eine eigene benutzerdefinierte Funktion für die Sortierung erstellen. Wenn Sie eine benutzerdefinierte Funktion erstellen möchten, rufen Sie die Methode sort() auf und verwenden den Namen der benutzerdefinierten Funktion als erstes Argument (compareFunction).
Parameter
... args — Die Argumente, die eine Vergleichsfunktion angeben, sowie mindestens ein Wert, der das Verhalten der Sortierung bestimmt.
Diese Methode verwendet die Syntax und Argumentreihenfolge
|
Array — Der Rückgabewert hängt, wie in der folgenden Liste beschrieben, davon ab, ob Sie Argumente übergeben:
|
Siehe auch
vegetables mit den Elementen [spinach, green pepper, cilantro, onion, avocado] erstellt. Anschließend wird das Array mithilfe der sort()-Methode, die ohne Parameter aufgerufen wird, sortiert. Das Ergebnis ist vegetables sortiert in alphabetischer Reihenfolge ([avocado, cilantro, green pepper, onion, spinach]).
var vegetables:Array = new Array("spinach",
"green pepper",
"cilantro",
"onion",
"avocado");
trace(vegetables); // spinach,green pepper,cilantro,onion,avocado
vegetables.sort();
trace(vegetables); // avocado,cilantro,green pepper,onion,spinachvegetables mit den Elementen [spinach, green pepper, Cilantro, Onion, and Avocado] erstellt. Anschließend wird das Array mithilfe der sort()-Methode, die beim ersten Mal ohne Parameter aufgerufen wird, sortiert. Das Ergenis ist [Avocado,Cilantro,Onion,green pepper,spinach]. Anschließend wird sort() erneut für vegetables aufgerufen, wobei die Konstante CASEINSENSITIVE als ein Parameter verwendet wird. Das Ergebnis ist vegetables sortiert in alphabetischer Reihenfolge ([Avocado, Cilantro, green pepper, Onion, spinach]).
var vegetables:Array = new Array("spinach",
"green pepper",
"Cilantro",
"Onion",
"Avocado");
vegetables.sort();
trace(vegetables); // Avocado,Cilantro,Onion,green pepper,spinach
vegetables.sort(Array.CASEINSENSITIVE);
trace(vegetables); // Avocado,Cilantro,green pepper,Onion,spinachvegetables erstellt, das dann durch fünf Aufrufe von push() gefüllt wird. Mit jedem Aufrufen von push() wird ein neues Vegetable-Objekt durch einen Aufruf des Vegetable()-Konstruktors erstellt, der ein String- (name) und ein Number- (price)-Objekt akzeptiert. Durch das fünfmalige Aufrufen von push() mit den gezeigten Werten ergibt sich das folgende Array: [lettuce:1.49, spinach:1.89, asparagus:3.99, celery:1.29, squash:1.44]. Dann wird das Array mithilfe der sort()-Methode sortiert, und es ergibt das Array [asparagus:3.99, celery:1.29, lettuce:1.49, spinach:1.89, squash:1.44].
var vegetables:Array = new Array();
vegetables.push(new Vegetable("lettuce", 1.49));
vegetables.push(new Vegetable("spinach", 1.89));
vegetables.push(new Vegetable("asparagus", 3.99));
vegetables.push(new Vegetable("celery", 1.29));
vegetables.push(new Vegetable("squash", 1.44));
trace(vegetables);
// lettuce:1.49, spinach:1.89, asparagus:3.99, celery:1.29, squash:1.44
vegetables.sort();
trace(vegetables);
// asparagus:3.99, celery:1.29, lettuce:1.49, spinach:1.89, squash:1.44
//The following code defines the Vegetable class
class Vegetable {
private var name:String;
private var price:Number;
public function Vegetable(name:String, price:Number) {
this.name = name;
this.price = price;
}
public function toString():String {
return " " + name + ":" + price;
}
}sort()-Methode zusammen mit einer benutzerdefinierten Sortierfunktion (sortOnPrice) ausgeführt wird, d. h. das Array wird nicht in alphabetischer Reihenfolge sondern anhand des Preises sortiert. Beachten Sie, dass die neue Funktion getPrice() den Preis extrahiert.
var vegetables:Array = new Array();
vegetables.push(new Vegetable("lettuce", 1.49));
vegetables.push(new Vegetable("spinach", 1.89));
vegetables.push(new Vegetable("asparagus", 3.99));
vegetables.push(new Vegetable("celery", 1.29));
vegetables.push(new Vegetable("squash", 1.44));
trace(vegetables);
// lettuce:1.49, spinach:1.89, asparagus:3.99, celery:1.29, squash:1.44
vegetables.sort(sortOnPrice);
trace(vegetables);
// celery:1.29, squash:1.44, lettuce:1.49, spinach:1.89, asparagus:3.99
function sortOnPrice(a:Vegetable, b:Vegetable):Number {
var aPrice:Number = a.getPrice();
var bPrice:Number = b.getPrice();
if(aPrice > bPrice) {
return 1;
} else if(aPrice < bPrice) {
return -1;
} else {
//aPrice == bPrice
return 0;
}
}
// The following code defines the Vegetable class and should be in a separate package.
class Vegetable {
private var name:String;
private var price:Number;
public function Vegetable(name:String, price:Number) {
this.name = name;
this.price = price;
}
public function getPrice():Number {
return price;
}
public function toString():String {
return " " + name + ":" + price;
}
}numbers mit den Elementen [3,5,100,34,10] erstellt. Durch das Aufrufen von sort() ohne Parameter wird das Array in alphabetischer Reihenfolge sortiert; es ergibt das unerwünschte Ergebnis [10,100,3,34,5]. Um numerische Werte richtig zu sortieren, müssen Sie die Konstante NUMERIC an die Methode sort() übergeben, mit der numbers wie folgt sortiert wird: [3,5,10,34,100].
Hinweis: Das Standardverhalten der Funktion sort() besteht darin, jede Einheit als String zu behandeln. Mit dem Argument Array.NUMERIC werden andere Datentypen nicht in den Datentyp Number umgewandelt; es gestattet dem Sortieralgorithmus lediglich Zahlen zu erkennen.
var numbers:Array = new Array(3,5,100,34,10); trace(numbers); // 3,5,100,34,10 numbers.sort(); trace(numbers); // 10,100,3,34,5 numbers.sort(Array.NUMERIC); trace(numbers); // 3,5,10,34,100
| sortOn | () | Methode |
AS3 function sortOn(fieldName:Object, options:Object = null):Array
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Sortiert die Elemente in einem Array nach mindestens einem Feld im Array. Das Array muss folgende Merkmale aufweisen:
Wenn Sie mehrere fieldName-Parameter übergeben, stellt das erste Feld das primäre Sortierfeld dar, das zweite Feld das nächste Sortierfeld usw. Flash sortiert nach Unicode-Werten. (ASCII ist eine Untergruppe von Unicode.) Wenn eines der zu vergleichenden Elemente das im fieldName-Parameter angegebene Feld nicht enthält, wird davon ausgegangen, dass das Feld auf undefined gesetzt wurde, und die Elemente werden im sortierten Array ohne bestimmte Reihenfolge nacheinander platziert.
In der Standardeinstellung funktioniert Array.sortOn() wie folgt:
Flash Player 7 umfasst den options-Parameter, mit dem Sie das Standardverhalten der Sortierung außer Kraft setzen können. Wenn Sie ein einfaches Array (z. B. ein Array mit nur einem Feld) sortieren oder eine nicht vom options-Parameter unterstützte Sortierreihenfolge festlegen möchten, verwenden Sie Array.sort().
Wenn Sie mehrere Flags übergeben möchten, trennen Sie diese mithilfe des bitweisen OR-Operators (|):
my_array.sortOn(someFieldName, Array.DESCENDING | Array.NUMERIC);
In Flash Player 8 haben Sie die Möglichkeit, bei einer Sortierung nach mehreren Feldern für jedes Feld eine andere Sortieroption anzugeben. In Flash Player 8 kann für den options-Parameter ein Array mit Sortieroptionen angegeben werden, bei dem jede Sortieroption einem Sortierfeld im fieldName-Parameter entspricht. Im folgenden Beispiel wird nach dem primären Sortierfeld a in absteigender Reihenfolge, dann nach dem sekundären Sortierfeld b anhand einer numerischen Sortierung und schließlich nach dem Sortierfeld c mit einer Sortierung ohne Beachtung der Groß-/Kleinschreibung sortiert.
Array.sortOn (["a", "b", "c"], [Array.DESCENDING, Array.NUMERIC, Array.CASEINSENSITIVE]);
Hinweis: Die Arrays fieldName und options müssen die gleiche Anzahl von Elementen aufweisen. Andernfalls wird das Array options ignoriert. Außerdem können die Optionen Array.UNIQUESORT und Array.RETURNINDEXEDARRAY nur als erstes Element im Array verwendet werden, da sie ansonsten ignoriert werden.
Parameter
fieldName:Object — Ein String, der ein Feld mit einem Sortierwert definiert bzw. ein Array, in dem das erste Element das primäre Sortierfeld, das zweite Element das sekundäre Sortierfeld darstellt usw.
|
|
options:Object (default = null) — Durch den Operator bitwise OR (|) voneinander getrennte Zahlen oder Namen definierter Konstanten, die das Verhalten der Sortierung ändern. Folgende Werte sind für den options-Parameter zulässig:
Codehinweise sind aktiviert, wenn Sie die Stringform des Parameters (z. B. |
Array — Der Rückgabewert hängt davon ab, ob Sie Parameter übergeben:
|
Siehe auch
vegetables erstellt, das dann durch fünf Aufrufe von push() gefüllt wird. Mit jedem Aufrufen von push() wird ein neues Vegetable-Objekt durch einen Aufruf des Vegetable()-Konstruktors erstellt, der ein String- (name) und ein Number- (price)-Objekt akzeptiert. Durch das fünfmalige Aufrufen von push() mit den gezeigten Werten ergibt sich das folgende Array: [lettuce:1.49, spinach:1.89, asparagus:3.99, celery:1.29, squash:1.44]. Anschließend wird die sortOn()-Methode zusammen mit dem name-Parameter angewendet, um das folgende Array zu erstellen: [asparagus:3.99, celery:1.29, lettuce:1.49, spinach:1.89, squash:1.44]. Daraufhin wird die sortOn()-Methode erneut zusammen mit dem price-Parameter und den Konstanten NUMERIC und DESCENDING aufgerufen, um ein nach Zahlen in absteigender Reihenfolge sortiertes Array zu erstellen: [asparagus:3.99, spinach:1.89, lettuce:1.49, squash:1.44, celery:1.29].
var vegetables:Array = new Array();
vegetables.push(new Vegetable("lettuce", 1.49));
vegetables.push(new Vegetable("spinach", 1.89));
vegetables.push(new Vegetable("asparagus", 3.99));
vegetables.push(new Vegetable("celery", 1.29));
vegetables.push(new Vegetable("squash", 1.44));
trace(vegetables);
// lettuce:1.49, spinach:1.89, asparagus:3.99, celery:1.29, squash:1.44
vegetables.sortOn("name");
trace(vegetables);
// asparagus:3.99, celery:1.29, lettuce:1.49, spinach:1.89, squash:1.44
vegetables.sortOn("price", Array.NUMERIC | Array.DESCENDING);
trace(vegetables);
// asparagus:3.99, spinach:1.89, lettuce:1.49, squash:1.44, celery:1.29
class Vegetable {
public var name:String;
public var price:Number;
public function Vegetable(name:String, price:Number) {
this.name = name;
this.price = price;
}
public function toString():String {
return " " + name + ":" + price;
}
}records erstellt, das dann durch drei Aufrufe von push() gefüllt wird. Mit jedem Aufrufen von push() werden die Strings name und city sowie eine zip-Zahl zu records hinzugefügt. Die Array-Elemente werden mit drei for-Schleifen gedruckt. Mit der ersten for-Schleife werden die Elemente in der Reihenfolge gedruckt, in der sie hinzugefügt wurden. Die zweite for-Schleife wird ausgeführt, nachdem records zuerst anhand des Namens und dann der Stadt mithilfe der sortOn()-Methode sortiert wurde. Mit der dritten for-Schleife wird records zuerst anhand der Stadt und dann anhand des Namens sortiert.
var records:Array = new Array();
records.push({name:"john", city:"omaha", zip:68144});
records.push({name:"john", city:"kansas city", zip:72345});
records.push({name:"bob", city:"omaha", zip:94010});
for(var i:uint = 0; i < records.length; i++) {
trace(records[i].name + ", " + records[i].city);
}
// Results:
// john, omaha
// john, kansas city
// bob, omaha
trace("records.sortOn('name', 'city');");
records.sortOn(["name", "city"]);
for(var i:uint = 0; i < records.length; i++) {
trace(records[i].name + ", " + records[i].city);
}
// Results:
// bob, omaha
// john, kansas city
// john, omaha
trace("records.sortOn('city', 'name');");
records.sortOn(["city", "name"]);
for(var i:uint = 0; i < records.length; i++) {
trace(records[i].name + ", " + records[i].city);
}
// Results:
// john, kansas city
// bob, omaha
// john, omaha
users erstellt, das dann durch vier Aufrufe von push() gefüllt wird. Mit jedem Aufrufen von push() wird ein User-Objekt mit dem User()-Konstruktor erstellt und ein name-String sowie age-2uint" werden zu den Benutzern hinzugefügt. Das sich daraus ergebende Array ist [Bob:3,barb:35,abcd:3,catchy:4].
Anschließend wird das Array folgendermaßen sortiert:
[Bob:3,abcd:3,barb:35,catchy:4].CASEINSENSITIVE ergibt sich [abcd:3,barb:35,Bob:3,catchy:4].CASEINSENSITIVE und DESCENDING ergibt sich [catchy:4,Bob:3,barb:35,abcd:3].[abcd:3,Bob:3,barb:35,catchy:4].NUMERIC ergibt sich [Bob:3,abcd:3,catchy:4,barb:35].DESCENDING und NUMERIC ergibt sich [barb:35,catchy:4,Bob:3,abcd:3].Anschließend wird ein Array mit dem Namen indices erstellt, dem die Ergebnisse einer Sortierung anhand des Alters zusammen mit den Konstanten NUMERIC und RETURNINDEXEDARRAY zugewiesen werden. Daraus ergibt sich das Array [Bob:3,abcd:3,catchy:4,barb:35], das mithilfe einer for-Schleife gedruckt wird.
class User {
public var name:String;
public var age:Number;
public function User(name:String, age:uint) {
this.name = name;
this.age = age;
}
public function toString():String {
return this.name + ":" + this.age;
}
}
var users:Array = new Array();
users.push(new User("Bob", 3));
users.push(new User("barb", 35));
users.push(new User("abcd", 3));
users.push(new User("catchy", 4));
trace(users); // Bob:3,barb:35,abcd:3,catchy:4
users.sortOn("name");
trace(users); // Bob:3,abcd:3,barb:35,catchy:4
users.sortOn("name", Array.CASEINSENSITIVE);
trace(users); // abcd:3,barb:35,Bob:3,catchy:4
users.sortOn("name", Array.CASEINSENSITIVE | Array.DESCENDING);
trace(users); // catchy:4,Bob:3,barb:35,abcd:3
users.sortOn("age");
trace(users); // abcd:3,Bob:3,barb:35,catchy:4
users.sortOn("age", Array.NUMERIC);
trace(users); // Bob:3,abcd:3,catchy:4,barb:35
users.sortOn("age", Array.DESCENDING | Array.NUMERIC);
trace(users); // barb:35,catchy:4,Bob:3,abcd:3
var indices:Array = users.sortOn("age", Array.NUMERIC | Array.RETURNINDEXEDARRAY);
var index:uint;
for(var i:uint = 0; i < indices.length; i++) {
index = indices[i];
trace(users[index].name, ": " + users[index].age);
}
// Results:
// Bob : 3
// abcd : 3
// catchy : 4
// barb : 35| splice | () | Methode |
AS3 function splice(startIndex:int, deleteCount:uint, ... values):Array
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Fügt einem Array Elemente hinzu bzw. entfernt diese. Bei dieser Methode werden Änderungen am Array vorgenommen, ohne eine Kopie zu erstellen.
Hinweis: Um diese Methode in einer Unterklasse von Array zu überschreiben, verwenden Sie, wie im folgenden Beispiel gezeigt, ...args für die Parameter:
public override function splice(...args) { // Hier eigene Anweisungen eingeben }
Parameter
startIndex:int — Eine Ganzzahl, die die Indexposition des Array-Elements angibt, an der der Einfüge- oder Löschvorgang beginnt. Sie können hier negative Ganzzahlen verwenden, um eine Position am Ende des Arrays anzugeben (so ist -1 das letzte Element des Arrays).
|
|
deleteCount:uint — Eine Ganzzahl, die die Anzahl der zu löschenden Elemente angibt. Diese Zahl schließt das im startIndex-Parameter angegebene Element ein. Wenn kein Wert für deleteCount angegeben ist, löscht die Methode alle Werte von startIndex bis zum letzten Array-Element. Wenn der Wert 0 lautet, werden keine Elemente gelöscht.
|
|
... values — Eine optionale Liste mit mindestens zwei durch Kommata getrennte Werte oder ein Array an Werten, die an der durch den Parameter startIndex angegebenen Position einzufügen sind.
|
Array — Ein Array, das die aus dem ursprünglichen Array entfernten Elemente enthält.
|
vegetables mit den Elementen [spinach, green pepper, cilantro, onion, avocado] erstellt. Anschließend wird die splice()-Methode mit den Parametern 2 und 2 aufgerufen. Dadurch werden cilantro und onion dem spliced-Array hinzugefügt. Das vegetables-Array enthält daraufhin [spinach,green pepper,avocado]. Die splice()-Methode wird ein zweites Mal mit den Parametern 1 und 0 sowie dem spliced-Array aufgerufen, um [cilantro,onion] als zweites Element von vegetables zuzuweisen.
var vegetables:Array = new Array("spinach",
"green pepper",
"cilantro",
"onion",
"avocado");
var spliced:Array = vegetables.splice(2, 2);
trace(vegetables); // spinach,green pepper,avocado
trace(spliced); // cilantro,onion
vegetables.splice(1, 0, spliced);
trace(vegetables); // spinach,cilantro,onion,green pepper,avocado
cilantro und onion wiedergegeben werden, als ob vegetables 5 Elemente enthielte, obwohl es nur vier sind (wobei es sich beim zweiten Element um ein anderes Array mit zwei Elementen handelt). Sie können cilantro und onion einzeln hinzufügen, und zwar mithilfe von:
var vegetables:Array = new Array("spinach",
"green pepper",
"cilantro",
"onion",
"avocado");
var spliced:Array = vegetables.splice(2, 2);
trace(vegetables); // spinach,green pepper,avocado
trace(spliced); // cilantro,onion
vegetables.splice(1, 0, "cilantro", "onion");
trace(vegetables); // spinach,cilantro,onion,green pepper,avocado
| toLocaleString | () | Methode |
public function toLocaleString():String
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Gibt einen String zurück, der die Elemente im angegebenen Array repräsentiert. Alle Array-Elemente von Index 0 bis zum höchsten Index werden in einen verketteten, durch Kommata getrennten String umgewandelt. In der ActionScript 3.0-Implementierung gibt diese Methode denselben Wert wie die Methode Array.toString() zurück.
String — Ein String mit Array-Elementen.
|
Siehe auch
| toString | () | Methode |
public function toString():String
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Gibt einen String zurück, der die Elemente im angegebenen Array repräsentiert. Alle Array-Elemente von Index 0 bis zum höchsten Index werden in einen verketteten, durch Kommata getrennten String umgewandelt. Verwenden Sie die Array.join()-Methode, um ein benutzerdefiniertes Trennzeichen anzugeben.
String — Ein String mit Array-Elementen.
|
Siehe auch
vegnums-Variable vom Datentyp String gespeichert.
var vegetables:Array = new Array(); vegetables.push(1); vegetables.push(2); vegetables.push(3); vegetables.push(4); vegetables.push(5); var vegnums:String = vegetables.toString(); trace(vegnums+",6"); // 1,2,3,4,5,6
| unshift | () | Methode |
AS3 function unshift(... args):uint
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Fügt am Anfang eines Arrays ein oder mehrere Elemente hinzu und gibt die neue Länge des Arrays zurück. Die anderen Elemente im Array werden von ihrer ursprünglichen Position, i, nach i+1 verschoben.
Parameter
... args — Eine oder mehrere Zahlen, Elemente oder Variablen, die am Anfang des Arrays eingefügt werden sollen.
|
uint — Eine Ganzzahl, die die neue Länge des Arrays repräsentiert.
|
Siehe auch
names erstellt. Die Strings Bill und Jeff werden mithilfe der push()-Methode hinzugefügt. Anschließend werden die Strings Alfred und Kyle am Anfang von names durch zwei Aufrufe der unshift()-Methode eingefügt.
var names:Array = new Array();
names.push("Bill");
names.push("Jeff");
trace(names); // Bill,Jeff
names.unshift("Alfred");
names.unshift("Kyle");
trace(names); // Kyle,Alfred,Bill,Jeff| CASEINSENSITIVE | Konstante |
public static const CASEINSENSITIVE:uint = 1
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Legt als Sortiermethode für die Array-Klasse eine Sortierung ohne Beachtung der Groß- und Kleinschreibung fest. Sie können diese Konstante als Wert für den options-Parameter in der Methode sort() oder sortOn() verwenden.
Diese Konstante hat den Wert 1.
Siehe auch
| DESCENDING | Konstante |
public static const DESCENDING:uint = 2
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Legt als Sortiermethode für die Array-Klasse eine absteigende Sortierreihenfolge fest. Sie können diese Konstante als Wert für den options-Parameter in der Methode sort() oder sortOn() verwenden.
Diese Konstante hat den Wert 2.
Siehe auch
| NUMERIC | Konstante |
public static const NUMERIC:uint = 16
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Legt als Sortiermethode für die Array-Klasse eine numerische (statt einer stringbasierten) Sortierreihenfolge fest. Wenn Sie diese Konstante dem options-Parameter hinzufügen, sortieren die sort()- und sortOn()-Methoden Zahlen als numerische Werte und nicht als Strings numerischer Zeichen. Ohne die Konstante NUMERIC werden bei der Sortierung alle Array-Elemente wie Strings behandelt, und die Ergebnisse werden in der Unicode-Reihenfolge dargestellt.
Wenn beispielsweise bei einem Array der Werte [2005, 7, 35] die Konstante NUMERIC not dem options-Parameter hinzugefügt ist, lautet das sortierte Array [2005, 35, 7]. Wurde die Konstante NUMERIC jedoch is, lautet das sortierte Array [7, 35, 2005].
Diese Konstante gilt nur für Zahlen im Array. Sie gilt jedoch nicht für Strings mit numerischen Daten wie ["23", "5"].
Diese Konstante hat den Wert 16.
Siehe auch
| RETURNINDEXEDARRAY | Konstante |
public static const RETURNINDEXEDARRAY:uint = 8
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Legt fest, dass eine Sortierung ein Array zurückgibt, der aus Arrayindizes besteht. Diese Konstante können Sie für den Parameter options in den Methoden sort() oder sortOn() verwenden, sodass Sie Zugriff auf mehrere Ansichten zu Array-Elementen haben, während das Originalarray unverändert bleibt.
Diese Konstante hat den Wert 8.
Siehe auch
| UNIQUESORT | Konstante |
public static const UNIQUESORT:uint = 4
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Legt als Sortiermethode für die Array-Klasse eine eindeutige Sortierreihenfolge fest. Sie können diese Konstante als Wert für den options-Parameter in der Methode sort() oder sortOn() verwenden. Bei der eindeutigen Sortierung wird der Vorgang beendet, sobald zwei beliebige zu sortierende Elemente bzw. Felder den gleichen Wert enthalten.
Diese Konstante hat den Wert 4.
Siehe auch
myArr-Objekt mit der Ausgangslänge 0 erstellt:
package {
import flash.display.Sprite;
public class ArrayExample extends Sprite {
public function ArrayExample() {
var myArr:Array = new Array();
trace(myArr.length); // 0
}
}
}
Eine E-Mail an mich senden, wenn dieser Seite Kommentare hinzugefügt werden | Kommentarbericht
Aktuelle Seite: http://livedocs.adobe.com/flash/9.0_de/ActionScriptLangRefV3/Array.html