home *** CD-ROM | disk | FTP | other *** search
/ Computer Active 2010 August / CA08.iso / Multimedija / shufflr.air / ShufflrClient.swf / scripts / net / xinterface / utils / ArrayUtils.as next >
Encoding:
Text File  |  2010-06-23  |  2.4 KB  |  92 lines

  1. package net.xinterface.utils
  2. {
  3.    public class ArrayUtils
  4.    {
  5.       public function ArrayUtils()
  6.       {
  7.          super();
  8.       }
  9.       
  10.       public static function MoveIndex(param1:Array, param2:int, param3:int) : void
  11.       {
  12.          var _loc4_:Array = null;
  13.          var _loc5_:Array = null;
  14.          if(param2 == param3)
  15.          {
  16.             throw new Error("MoveIndex: los indices deben ser diferentes");
  17.          }
  18.          if(param2 < param3)
  19.          {
  20.             _loc4_ = param1.splice(param3,1);
  21.             _loc5_ = param1.splice(param2,1);
  22.          }
  23.          else
  24.          {
  25.             _loc5_ = param1.splice(param2,1);
  26.             _loc4_ = param1.splice(param3,1);
  27.          }
  28.          param1.splice(param2,0,_loc4_[0]);
  29.          param1.splice(param3,0,_loc5_[0]);
  30.       }
  31.       
  32.       public static function Pop(param1:Array, param2:Object) : void
  33.       {
  34.          if(param1.length == 1 || param1[param1.length - 1] == param2)
  35.          {
  36.             param1.pop();
  37.          }
  38.          else
  39.          {
  40.             ArrayUtils.InternalPop(param1,param2);
  41.          }
  42.       }
  43.       
  44.       public static function DeleteDuplicated(param1:Array) : Array
  45.       {
  46.          var result:Array = null;
  47.          var array:Array = param1;
  48.          result = new Array();
  49.          array.forEach(function(param1:*, param2:int, param3:Array):void
  50.          {
  51.             if(result.indexOf(param1) == -1)
  52.             {
  53.                result.push(param1);
  54.             }
  55.          });
  56.          return result;
  57.       }
  58.       
  59.       public static function InternalPop(param1:Array, param2:Object) : void
  60.       {
  61.          var _loc3_:Object = null;
  62.          if(param1.length != 0)
  63.          {
  64.             _loc3_ = param1.pop();
  65.             if(param1[param1.length - 1] == param2)
  66.             {
  67.                param1.pop();
  68.             }
  69.             InternalPop(param1,param2);
  70.             param1.push(_loc3_);
  71.          }
  72.       }
  73.       
  74.       public static function Clone(param1:Array) : Array
  75.       {
  76.          var _loc2_:int = 0;
  77.          var _loc3_:int = 0;
  78.          var _loc4_:Array = null;
  79.          _loc4_ = new Array();
  80.          _loc3_ = int(param1.length);
  81.          _loc2_ = 0;
  82.          while(_loc2_ < _loc3_)
  83.          {
  84.             _loc4_[_loc2_] = param1[_loc2_];
  85.             _loc2_++;
  86.          }
  87.          return _loc4_;
  88.       }
  89.    }
  90. }
  91.  
  92.