Méthodes utiles sur les Array.
Visibilité | Return | Nom | Param 1 | Param 2 | Param 3 | Description |
---|---|---|---|---|---|---|
static public | Array | copy | pArray:Array | Duplique le tableau (Pas la même référence) | ||
static public | Array | remove | pArray:Array | pItem:Object | Supprime un élément d'un tableau | |
static public | Number | index | pArray:Array | pItem:Object | pProperty:String | Trouve l'index d'un item |
static public | Array | shuffle | pArray:Array | Mélange les éléments d'un tableau | ||
static public | Array | insert | pArray:Array | pItem:Object | pIndex:Number | Insere un item a une position donnee |
Methodes utiles sur les Array
Modification de la méthode shuffle (for normal au lieu de for..in)
/** * Methodes utiles sur les Array * @author neolao <neo@neolao.com> * @version 1.5 (25/10/2004) * @link http://resources.neolao.com/flash/classes/data/ArrayUtils * @license http://creativecommons.org/licenses/by-sa/2.0/ */ class com.neolao.data.ArrayUtils{ public static var className:String = "ArrayUtils"; public static var version:String = "1.5"; // ----------------------------- CONSTANTES -------------------------------- // ----------------------------- VARIABLES --------------------------------- /*========================== METHODES PUBLIQUES ==========================*/ /*========================================================================*/ /** * Duplique le tableau (Pas la même référence) * @param pArray Le tableau à dupliquer * @return La nouvelle référence de ce tableau */ public static function copy(pArray:Array):Array{ return pArray.slice(); } /** * Supprime un élément d'un tableau * @param pArray Le tableau * @param pItem L'élément à supprimer * @return Une nouvelle référence du tableau avec l'élément en moins */ public static function remove(pArray:Array, pItem:Object):Array{ var vResult:Array = copy(pArray); var i:String; for(i in vResult){ if(vResult[i] == pItem){ vResult.splice(Number(i), 1); } } return vResult; } /** * Trouve l'index d'un item * @param pArray Le tableau * @param pItem L'élément à trouver * @param pProperty L'élément à trouver est peut-être une propriété des éléments du tableau [optionnel] * @return L'index de l'élément recherché, sinon -1 */ public static function index(pArray:Array, pItem:Object, pProperty:String):Number{ var i:Number; var tmp:Object; if(pProperty != undefined){ for(i=0; i<pArray.length; i++){ tmp = pArray[i]; if(eval("tmp." + pProperty) == pItem){ return i; } } } for(i=0; i<pArray.length; i++){ if(pArray[i] == pItem){ return i; } } return -1; } /** * Mélange les éléments d'un tableau * @param pArray Le tableau * @return Une nouvelle référence d'un tableau avec les éléments d'origine mélangés */ public static function shuffle(pArray:Array):Array{ var vResult:Array = copy(pArray); var tmp:Object; var i:Number; var j:Number; var l:Number = pArray.length; for(i=0; i<l; i++){ j = Math.round(Math.random()*(vResult.length - 1)); tmp = vResult[j]; vResult[j] = vResult[i]; vResult[i] = tmp; } return vResult; } /** * Insere un item a une position donnee * @param pArray Le tableau a traiter * @param pItem L'item a ajouter * @param pIndex La position où inserer l'item * @return Le nouveau tableau avec l'item ajoute */ public static function insert(pArray:Array, pItem:Object, pIndex:Number):Array{ var vBefore:Array; var vAfter:Array; vBefore = pArray.slice(0, pIndex); vBefore.push(pItem); vAfter = pArray.slice(pIndex); return vBefore.concat(vAfter); } /*==================== FIN = METHODES PUBLIQUES = FIN ====================*/ /*========================================================================*/ }