En AS 3.0 la classe Array voit ses méthodes complétées, et la classe Vector fait son apparition...
- En savoir plus sur les nouvelles méthodes de la classe Array() et la classe Vector()
- Mike Chambers - Array / Vector Performance Comparison
forEach
var tableau:Array = [ "a", "b", "c" ];
function parse ( element:*, index:int, tableau:Array ):void {
trace ( element + " : " + index + " : " + tableau);
}
tableau.forEach( parse );
/*
a : 0 : a,b,c
b : 1 : a,b,c
c : 2 : a,b,c
*/
map
var tableau:Array = ["a", "b", "c"];
function parse ( element:*, index:int, tableau:Array ):String {
return index + 1 + "-" + element ;
}
var resultat:Array = tableau.map ( parse )
trace(resultat)
/*
1-a,2-b,3-c
*/
filter
var tableau:Array = [ "Anaïs", "Barbara", "Anathée"];
function parse ( element:*, index:int, tableau:Array ):Boolean {
return ( element.charAt(0).toLowerCase() == "a" );
}
var resultat:Array = tableau.filter ( parse );
trace( resultat );
/*
Anaïs,Anathée
*/
some
var tableau:Array = [ 1, "andrée",4 ];
function parse ( element:*, index:int, tableau:Array ):Boolean {
return ( element is String );
}
var resultat:Boolean = tableau.some ( parse );
trace( resultat );
/*
true
*/
every
var tableau1:Array = [ "Albert", "andrée","Anathée" ];
var tableau2:Array = [ "Anaïs", "Barbara" ];
function parse ( element:*, index:int, tableau:Array ):Boolean {
return ( element.charAt(0).toLowerCase() == "a" );
}
var resultat1:Boolean = tableau1.every ( parse );
var resultat2:Boolean = tableau2.every ( parse );
trace( resultat1 );
trace( resultat2 );
/*
true
false
*/
indexOf et lastIndexOf
var tableau:Array = [ "Anaïs", "Barbara", "Anathée","Barbara"];
var resultat1:int = tableau.indexOf ( "Barbara" );
var resultat2:int = tableau.lastIndexOf ( "Barbara" );
trace( resultat1 );
trace( resultat2 );
/*
1
3
*/
Vector()
La classe Vector() reste préférable pour l'utilisation de tableau car plus compacte et plus rapide à l'exécution. Voici sa signature et son instanciation:
function Vector(length:uint = 0, fixed:Boolean = false)
var vecteur:Vector.<int> = new Vector.<int>(10);
var vecteur:Vector.<*> = new Vector.<*>();






