亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? arrayutilities.as

?? actionscript3 cookbook 源代碼S3CBLibrary
?? AS
字號:
package ascb.util {
	
  public class ArrayUtilities {

    public static function randomize(aArray:Array):Array {
      var aCopy:Array = aArray.concat();
      var aRandomized:Array = new Array();
      var oElement:Object;
      var nRandom:Number;
      for(var i:Number = 0; i < aCopy.length; i++) {
        nRandom = NumberUtilities.random(0, aCopy.length - 1);
        aRandomized.push(aCopy[nRandom]);
        aCopy.splice(nRandom, 1);
        i--;
      }
      return aRandomized;
    }

    public static function average(aArray:Array):Number {
      return sum(aArray) / aArray.length;
    }

    public static function sum(aArray:Array):Number {
      var nSum:Number = 0;
      for(var i:Number = 0; i < aArray.length; i++) {
        if(typeof aArray[i] == "number") {
          nSum += aArray[i];
        }
      }
      return nSum;
    }

    public static function max(aArray:Array):Number {
      var aCopy:Array = aArray.concat();
      aCopy.sort(Array.NUMERIC);
      var nMaximum:Number = Number(aCopy.pop());
      return nMaximum;
    }

    public static function min(aArray:Array):Number {
      var aCopy:Array = aArray.concat();
      aCopy.sort(Array.NUMERIC);
      var nMinimum:Number = Number(aCopy.shift());
      return nMinimum;
    }

    public static function switchElements(aArray:Array, nIndexA:Number, nIndexB:Number):void {
      var oElementA:Object = aArray[nIndexA];
      var oElementB:Object = aArray[nIndexB];
      aArray.splice(nIndexA, 1, oElementB);
      aArray.splice(nIndexB, 1, oElementA);
    }

    private static function objectEquals(oInstanceA:Object, oInstanceB:Object):Boolean {
      for(var sItem:String in oInstanceA) {
        if(oInstanceA[sItem] is Object) {
          if(!objectEquals(oInstanceA[sItem], oInstanceB[sItem])) {
            return false;
          }
        }
        else {
          if(oInstanceA[sItem] != oInstanceB[sItem]) {
            return false;
          }
        }
      }
      return true;
    }

    public static function equals(aArrayA:Array, aArrayB:Array, bNotOrdered:Boolean, bRecursive:Boolean):Boolean {
      if(aArrayA.length != aArrayB.length) {
        return false;
      }
      var aArrayACopy:Array = aArrayA.concat();
      var aArrayBCopy:Array = aArrayB.concat();
      if(bNotOrdered) {
        aArrayACopy.sort();
        aArrayBCopy.sort();
      }
      for(var i:Number = 0; i < aArrayACopy.length; i++) {
        if(aArrayACopy[i] is Array && bRecursive) {
          if(!equals(aArrayACopy[i], aArrayBCopy[i], bNotOrdered, bRecursive)) {
            return false;
          }
        }
        else if(aArrayACopy[i] is Object && bRecursive) {
          if(!objectEquals(aArrayACopy[i], aArrayBCopy[i])) {
            return false;
          }
        }
        else if(aArrayACopy[i] != aArrayBCopy[i]) {
          return false;
        }
      }
      return true;
    }

    public static function findMatchIndex(aArray:Array, oElement:Object, ...rest):Number {
      var nStartingIndex:Number = 0;
      var bPartialMatch:Boolean = false;
      if(typeof rest[0] == "number") {
        nStartingIndex = rest[0];
      }    
      else if(typeof rest[1] == "number") {
        nStartingIndex = rest[1];
      }
      if(typeof rest[0] == "boolean") {
        bPartialMatch = rest[0];
      }
      var bMatch:Boolean = false;
      for(var i:Number = nStartingIndex; i < aArray.length; i++) {
        if(bPartialMatch) {
          bMatch = (aArray[i].indexOf(oElement) != -1);
        }
        else {
          bMatch = (aArray[i] == oElement);
        }
        if(bMatch) {
          return i;
        }
      }
      return -1;
    }

    public static function findLastMatchIndex(aArray:Array, oElement:Object, oParameter:Object):Number {
      var nStartingIndex:Number = aArray.length;
      var bPartialMatch:Boolean = false;
      if(typeof arguments[2] == "number") {
        nStartingIndex = arguments[2];
      }    
      else if(typeof arguments[3] == "number") {
        nStartingIndex = arguments[3];
      }
      if(typeof arguments[2] == "boolean") {
        bPartialMatch = arguments[2];
      }
      var bMatch:Boolean = false;
      for(var i:Number = nStartingIndex; i >= 0; i--) {
        if(bPartialMatch) {
          bMatch = (aArray[i].indexOf(oElement) != -1);
        }
        else {
          bMatch = (aArray[i] == oElement);
        }
        if(bMatch) {
          return i;
        }
      }
      return -1;
    }

    public static function findMatchIndices(aArray:Array, oElement:Object, bPartialMatch:Boolean = false):Array {
      var aIndices:Array = new Array();
      var nIndex:Number = findMatchIndex(aArray, oElement, bPartialMatch);
      while(nIndex != -1) {
        aIndices.push(nIndex);
        nIndex = findMatchIndex(aArray, oElement, bPartialMatch, nIndex + 1);
      }
      return aIndices;
    }

    public static function duplicate(oArray:Object, bRecursive:Boolean = false):Object {
      var oDuplicate:Object;
      if(bRecursive) {
        if(oArray is Array) {
          oDuplicate = new Array();
          for(var i:Number = 0; i < oArray.length; i++) {
            if(oArray[i] is Object) {
              oDuplicate[i] = duplicate(oArray[i]);
            }
            else {
              oDuplicate[i] = oArray[i];
            }
          }
          return oDuplicate;
        }
        else {
          var oDuplicate:Object = new Object();
          for(var sItem:String in oArray) {
            if(oArray[sItem] is Object && !(oArray[sItem] is String) && !(oArray[sItem] is Boolean) && !(oArray[sItem] is Number)) {
              oDuplicate[sItem] = duplicate(oArray[sItem], bRecursive);
            }
            else {
              oDuplicate[sItem] = oArray[sItem];
            }
          }
          return oDuplicate;
        }
      }
      else {
        if(oArray is Array) {
          return oArray.concat();
        }
        else {
          var oDuplicate:Object = new Object();
          for(var sItem:String in oArray) {
            oDuplicate[sItem] = oArray[sItem];
          }
          return oDuplicate;
        }
      }
    }

    static public function toString(oArray:Object, nLevel:uint = 0):String {
      var sIndent:String = "";
      for(var i:Number = 0; i < nLevel; i++) {
        sIndent += "\t";
      }
      var sOutput:String = "";
      for(var sItem:String in oArray) {
        if(oArray[sItem] is Object) {
          sOutput = sIndent + "** " + sItem + " **\n" + toString(oArray[sItem], nLevel + 1) + sOutput;
        }
        else {
          sOutput += sIndent + sItem + ":" + oArray[sItem] + "\n";
        }
      }
      return sOutput;
    }

  }
  
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
不卡的电影网站| 日韩一区二区免费高清| 欧美揉bbbbb揉bbbbb| 久久亚洲一区二区三区四区| 亚洲女厕所小便bbb| 久久99精品久久久久久国产越南| 99久久婷婷国产综合精品 | 开心九九激情九九欧美日韩精美视频电影 | 奇米精品一区二区三区在线观看一 | 欧美一区二区三区婷婷月色 | 精品国产自在久精品国产| 国产精品免费网站在线观看| 久久精品理论片| 91激情五月电影| 国产精品免费免费| 精品一区二区三区在线观看| 欧美日韩一本到| 亚洲男人的天堂av| 菠萝蜜视频在线观看一区| 精品美女一区二区| 日韩国产精品久久久久久亚洲| 色综合一区二区| 中文字幕精品三区| 国产成人av电影在线| 久久亚洲一级片| 国内精品第一页| 久久女同互慰一区二区三区| 美女国产一区二区| 91精品久久久久久蜜臀| 亚洲图片自拍偷拍| 在线观看91精品国产入口| 亚洲另类春色校园小说| 99在线热播精品免费| 欧美国产日韩一二三区| 国产一区二区三区黄视频 | 日韩精品福利网| 欧美精品在线一区二区| 日日夜夜精品视频天天综合网| 欧美亚洲综合另类| 一区二区三区欧美日| 日本国产一区二区| 午夜精品久久久久久久| 欧美日韩国产一级片| 日本网站在线观看一区二区三区 | 日本韩国欧美国产| 亚洲国产欧美在线| 欧美精品少妇一区二区三区| 免费观看在线综合色| 2017欧美狠狠色| 国产成人无遮挡在线视频| 国产精品传媒入口麻豆| 色婷婷综合五月| 日韩av一区二区三区| 精品欧美一区二区久久| 国产成人精品一区二区三区四区 | 欧美精品一区二区三区很污很色的| 精品一区二区三区在线观看| 国产丝袜在线精品| 91亚洲精华国产精华精华液| 亚洲久本草在线中文字幕| 色婷婷综合五月| 六月丁香婷婷久久| 中文无字幕一区二区三区| 91免费精品国自产拍在线不卡| 亚洲国产精品影院| 欧美mv日韩mv国产| 99视频一区二区| 午夜亚洲国产au精品一区二区| 欧美草草影院在线视频| 成人国产精品免费| 午夜成人免费电影| 国产精品久久午夜| 欧美肥妇free| 99国产精品久久久久久久久久| 日韩高清在线一区| 国产精品久久毛片av大全日韩| 欧美久久一二区| 成人av网址在线观看| 日韩av电影天堂| 亚洲欧美日韩国产中文在线| 日韩精品一区二区三区视频| 91黄色免费观看| 国产精品白丝av| 亚洲一区二区三区视频在线播放 | 色悠悠久久综合| 国产美女精品在线| 丝瓜av网站精品一区二区| 国产精品久久久久久久久久免费看 | 亚洲va国产va欧美va观看| 久久久久97国产精华液好用吗| 欧美日韩国产综合久久| 成人精品小蝌蚪| 精品一区二区免费看| 亚洲午夜久久久久久久久久久 | 一区二区三区小说| 国产亚洲自拍一区| 精品粉嫩超白一线天av| 欧美日韩国产一级片| 色狠狠色噜噜噜综合网| 成人av在线播放网址| 国产成人免费网站| 久久国产乱子精品免费女| 亚洲成人综合在线| 亚洲黄色小视频| 亚洲精品国产品国语在线app| 欧美国产禁国产网站cc| 国产亚洲一区二区在线观看| 日韩精品中文字幕一区| 欧美精品在线视频| 制服丝袜av成人在线看| 欧美日本一区二区三区| 欧美视频一区在线| 欧美性淫爽ww久久久久无| 一本在线高清不卡dvd| 97se狠狠狠综合亚洲狠狠| 99国产精品久久久久久久久久| 成人的网站免费观看| 91免费小视频| 色天天综合久久久久综合片| 91国内精品野花午夜精品| 9l国产精品久久久久麻豆| 91蜜桃在线免费视频| 91福利在线播放| 欧美视频在线观看一区二区| 欧美高清视频不卡网| 91精品一区二区三区在线观看| 欧美电影影音先锋| 91精品国产欧美一区二区成人 | 色婷婷综合久久久中文字幕| 99久久99久久综合| 欧洲激情一区二区| 欧美日韩国产高清一区二区三区| 欧美剧在线免费观看网站| 欧美xxxxx裸体时装秀| 久久久久国产免费免费| 中文字幕在线观看不卡视频| 一区二区三区91| 免费成人你懂的| 国产成人精品网址| 在线观看日韩av先锋影音电影院| 欧美乱熟臀69xxxxxx| 欧美电影免费观看高清完整版在线 | 91电影在线观看| 91精品国产欧美日韩| 国产亚洲视频系列| 亚洲欧美电影一区二区| 天堂精品中文字幕在线| 久久国内精品视频| av中文字幕在线不卡| 欧美日本韩国一区二区三区视频| 精品成人一区二区三区| 中文字幕五月欧美| 麻豆视频一区二区| 99精品偷自拍| 日韩欧美一区二区免费| 亚洲欧美另类久久久精品| 麻豆精品在线视频| 91免费国产视频网站| 日韩美女一区二区三区四区| 综合欧美亚洲日本| 加勒比av一区二区| 色中色一区二区| 久久美女艺术照精彩视频福利播放| 国产欧美一区二区精品仙草咪| 一区二区三区色| 国产美女精品在线| 欧美另类久久久品| 中文字幕在线观看一区二区| 日韩精品免费专区| 91色视频在线| 国产人伦精品一区二区| 日本成人中文字幕在线视频| 91蝌蚪porny| 久久久亚洲高清| 免费观看在线色综合| 欧美综合亚洲图片综合区| 欧美激情资源网| 美国毛片一区二区| 欧美日韩视频在线第一区| 国产精品欧美综合在线| 激情伊人五月天久久综合| 8v天堂国产在线一区二区| 夜夜亚洲天天久久| 成人av在线网站| 中文字幕欧美日韩一区| 国产原创一区二区三区| 欧美一二三区在线| 五月激情综合色| 欧美午夜精品久久久久久孕妇| 国产精品久久久久国产精品日日 | 国产精品女人毛片| 国产成人在线看| 国产香蕉久久精品综合网| 男男成人高潮片免费网站| 欧美日韩一区二区三区不卡| 亚洲精品久久久蜜桃| 色屁屁一区二区| 一区二区三区国产| 91久久精品午夜一区二区| 亚洲乱码国产乱码精品精可以看|