AS3的splice

  • 2020 年 1 月 10 日
  • 筆記

(AS3)關於SPLICE的刪除功能的博文:

bug : 這是一個AS3本身的一個"bug".先看看我的測試:

package{      import com.ainy.Applyfn;      import com.ainy.xmlbyte.Bytes2Xml;      import com.ainy.xmlbyte.Xml2Bytes;      import com.ds.comm.MyDictionary;        import flash.display.Sprite;      import flash.text.TextField;      import flash.utils.Dictionary;        public class myTest extends Sprite{  //      private var myDictionary : MyDictionary;  //      public var $myText : TextField;          public function myTest(){              trace("原始數據");              this.pointMy();              this.$spliceVec.splice(-1,1);              trace("最新數據");              this.pointMy();          }            private var $spliceVec : Vector.<String> = new <String>[              "Kayer",              "Aonaufly",              "Kevvy",              "Zone",              "Ainy"          ];            private function pointMy() : void{              var $index : uint = 0;              for each(var $itemName : String in $spliceVec){                  $index += 1;                  trace($index +" 號 Name is "+$itemName);              }          }      }  }

得到的結果:

很顯然將數據集合的最後一個元素去掉了.

splice的前2個元素:

   第一個:要刪除元素的開始索引->index

   第二個:一共要刪除幾個

當第一個元素為-1時,竟然刪除了集合的最後的元素,實在是…倒數刪除,倒數第一個元素的Index = -1 , 倒數第二個為 -2 , 依次類推,並非不刪除元素.

此博文先給一直認為:splice(-1,1)不刪除任何元素的AS3遊戲開發前端人員.此前我也是.此外,不知道其他語言是不是也是這樣:比如C#,Java,C++,歡迎給位拍磚