Array


Object
    |
    +-Array

public dynamic class Array
extends Object

La classe Array vous permet d'accéder aux tableaux indexés et de les manipuler. Un tableau indexé est un objet dont les propriétés sont identifiées par un nombre représentant leur position au sein de celui-ci. Ce nombre est appelé index. Tous les tableaux indexés sont basés sur zéro, ce qui signifie que le premier élément du tableau est [0], le deuxième est [1], etc. Pour créer un objet Array, utilisez le constructeur new Array(). Pour accéder aux éléments d'un tableau, utilisez l'opérateur d'accès au tableau ([]).

Vous pouvez stocker divers types de données dans un élément de tableau, y compris les nombres, les chaînes, les objets et même d'autres tableaux. Vous pouvez créer un tableau multidimensionnel en concevant un tableau indexé et en affectant à chacun de ses éléments un tableau indexé différent. Ce type de tableau est considéré comme étant miltidimensionnel car il peut être utilisé pour représenter des données dans un tableau.

L'affectation au tableau s'effectue par référence plutôt que par valeur : lorsque vous affectez une variable de tableau à une autre variable de tableau, elles renvoient toutes deux au même tableau :

var oneArray:Array = new Array("a", "b", "c");
var twoArray:Array = oneArray; // Les deux variables array se rapportent 
// au même tableau. twoArray[0] = "z"; trace(oneArray); // Renvoie : z,b,c.

La classe Array ne doit pas être utilisée pour créer des tableaux associatifs car il s'agit de structures de données différentes qui contiennent des éléments nommés au lieu d'éléments numérotés. Il est recommandé d'utiliser la classe Object pour créer des tableaux associatifs (également appelés hachages). Bien que ActionScript vous permette de créer des tableaux associatifs à l'aide de la classe Array, vous ne pouvez pas utiliser les méthodes ou les propriétés de cette dernière. Sous sa forme de base, un tableau associatif est une occurrence de la classe Object et chaque paire clé/valeur est représentée par une propriété et sa valeur. Vous pouvez également déclarer un tableau associatif avec le type Object pour la raison suivante : cela vous permet d'utiliser ensuite un littéral d'objet pour alimenter votre tableau associatif (uniquement au moment de la déclaration). L'exemple suivant crée un tableau associatif à l'aide d'un littéral d'objet, accède aux éléments à l'aide de l'opérateur point et d'accès au tableau, puis ajoute une nouvelle paire clé/valeur en créant une nouvelle propriété :

var myAssocArray:Object = {fname:"John", lname:"Public"};
trace(myAssocArray.fname); // Renvoie : John
trace(myAssocArray["lname"]); // Renvoie : Public
myAssocArray.initial = "Q";
trace(myAssocArray.initial); // Renvoie : Q

Disponibilité : ActionScript 1.0 ; Flash Lite 2.0 - Devenu un objet natif dans Flash Player 6, ce qui a amélioré les performances de façon significative.

Exemple

Dans l'exemple suivant, my_array contient quatre mois de l'année :

var my_array:Array = new Array(); 
my_array[0] = "January";
my_array[1] = "February";
my_array[2] = "March";
my_array[3] = "April";

Résumé des propriétés

Modificateurs

Propriété

Description

static

CASEINSENSITIVE:Number

Représente le tri ne tenant pas compte de la casse.

static

DESCENDING:Number

Représente un tri par ordre décroissant.

 

length:Number

Un entier non négatif spécifiant le nombre d'éléments contenus dans le tableau.

static

NUMERIC:Number

Représente un tri numérique et non pas en fonction des chaînes.

static

RETURNINDEXEDARRAY:Number

Permet de renvoyer un tableau indexé suite à l'appel de la méthode sort() ou sortOn().

static

UNIQUESORT:Number

Représente le critère de tri unique.

Propriétés héritées de la classe Object

constructor (propriété Object.constructor), __proto__ (propriété Object.__proto__), prototype (propriété Object.prototype), __resolve (propriété Object.__resolve)


Récapitulatif des constructeurs

Signature

Description

Array([value:Object])

Permet de créer un tableau.

Résumé de la méthode

Modificateurs

Signature

Description

 

concat([value:Object]) : Array

Concatène les éléments spécifiés dans les paramètres avec ceux contenus dans un tableau et crée un nouveau tableau.

 

join([delimiter:String]) : String

Convertit les éléments d'un tableau en chaînes, insère le séparateur spécifié entre les éléments, les concatène, puis renvoie la chaîne obtenue.

 

pop() : Object

Supprime le dernier élément d'un tableau et renvoie la valeur de cet élément.

 

push(value:Object) : Number

Ajoute un ou plusieurs éléments à la fin d'un tableau et renvoie la nouvelle longueur du tableau.

 

reverse() : Void

Inverse le tableau.

 

shift() : Object

Supprime le premier élément d'un tableau et renvoie cet élément.

 

slice([startIndex:Number], [endIndex:Number]) : Array

Renvoie un nouveau tableau constitué d'un éventail d'éléments issus du tableau original, sans modifier ce dernier.

 

sort([compareFunction:Object], [options:Number]) : Array

Trie les éléments d'un tableau.

 

sortOn(fieldName:Object, [options:Object]) : Array

Trie les éléments d'un tableau selon un ou plusieurs champs du tableau.

 

splice(startIndex:Number, [deleteCount:Number], [value:Object]) : Array

Ajoute et supprime des éléments dans un tableau.

 

toString() : String

Renvoie une valeur de chaîne représentant les éléments dans l'objet Array spécifié.

 

unshift(value:Object) : Number

Ajoute un ou plusieurs éléments au début d'un tableau et renvoie la nouvelle longueur du tableau.

Méthodes héritées de la classe Object

addProperty (méthode Object.addProperty), hasOwnProperty (méthode Object.hasOwnProperty), isPropertyEnumerable (méthode Object.isPropertyEnumerable), isPrototypeOf (méthode Object.isPrototypeOf), registerClass (méthode Object.registerClass), toString (méthode Object.toString), unwatch (méthode Object.unwatch), valueOf (méthode Object.valueOf), watch (méthode Object.watch)