Methodes utiles sur les Array.
Visibilité | Return | Nom | Param 1 | Param 2 | Param 3 | Description |
---|---|---|---|---|---|---|
static public | Array | copy | pArray:String | 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 | Insère un item à une position donnée |
/** * ATTENTION : UTF-8 (éàöù) * * [12/08/2004] Version 1.3 * Methodes utiles sur les Array * * [23/09/2004] Version 1.4 * - Modification de la methode copy : La copie existait deja dans les fonctions de base * - Creation de la methode insert * * [25/10/2004] Version 1.5 * Modification de la méthode shuffle (for normal au lieu de for..in) * * [17/11/2005] Version 1.6 * Modification de remove et index: égalité strict * * [21/11/2005] Version 1.7 * Modification de remove: correction pour 2 éléments à supprimer qui se suivent * @ignore * * Methodes utiles sur les Array * @author neolao <neo@neolao.com> * @version 1.7 (21/11/2005) * @link http://resources.neolao.com/flash/classes_fp8/data/ArrayUtils * @license http://creativecommons.org/licenses/by-sa/2.5/ */ class com.neolao.data.ArrayUtils{ public static var className:String = "ArrayUtils"; public static var version:String = "1.7"; // ----------------------------- 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); for(var i:Number=0; i<vResult.length; i++){ if(vResult[i] === pItem){ vResult.splice(i, 1); i--; } } return vResult; } /** * Trouve l'index d'un item * @param pArray Le tableau * @param pItem L'élément à trouver * @param pProperty (optional) L'élément à trouver est peut-être une propriété des éléments du tableau * @return L'index de l'élément recherché, sinon -1 */ public static function index(pArray:Array, pItem:Object, pProperty:String):Number{ var i:Number; if(pProperty != undefined){ for(i=0; i<pArray.length; i++){ if(pArray[i][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 - 1; for(i=0; i<=l; i++){ j = Math.round(Math.random()*l); 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 ====================*/ /*========================================================================*/ }