home *** CD-ROM | disk | FTP | other *** search
- package net.xinterface.utils
- {
- public class ArrayUtils
- {
- public function ArrayUtils()
- {
- super();
- }
-
- public static function MoveIndex(param1:Array, param2:int, param3:int) : void
- {
- var _loc4_:Array = null;
- var _loc5_:Array = null;
- if(param2 == param3)
- {
- throw new Error("MoveIndex: los indices deben ser diferentes");
- }
- if(param2 < param3)
- {
- _loc4_ = param1.splice(param3,1);
- _loc5_ = param1.splice(param2,1);
- }
- else
- {
- _loc5_ = param1.splice(param2,1);
- _loc4_ = param1.splice(param3,1);
- }
- param1.splice(param2,0,_loc4_[0]);
- param1.splice(param3,0,_loc5_[0]);
- }
-
- public static function Pop(param1:Array, param2:Object) : void
- {
- if(param1.length == 1 || param1[param1.length - 1] == param2)
- {
- param1.pop();
- }
- else
- {
- ArrayUtils.InternalPop(param1,param2);
- }
- }
-
- public static function DeleteDuplicated(param1:Array) : Array
- {
- var result:Array = null;
- var array:Array = param1;
- result = new Array();
- array.forEach(function(param1:*, param2:int, param3:Array):void
- {
- if(result.indexOf(param1) == -1)
- {
- result.push(param1);
- }
- });
- return result;
- }
-
- public static function InternalPop(param1:Array, param2:Object) : void
- {
- var _loc3_:Object = null;
- if(param1.length != 0)
- {
- _loc3_ = param1.pop();
- if(param1[param1.length - 1] == param2)
- {
- param1.pop();
- }
- InternalPop(param1,param2);
- param1.push(_loc3_);
- }
- }
-
- public static function Clone(param1:Array) : Array
- {
- var _loc2_:int = 0;
- var _loc3_:int = 0;
- var _loc4_:Array = null;
- _loc4_ = new Array();
- _loc3_ = int(param1.length);
- _loc2_ = 0;
- while(_loc2_ < _loc3_)
- {
- _loc4_[_loc2_] = param1[_loc2_];
- _loc2_++;
- }
- return _loc4_;
- }
- }
- }
-
-