AS3的splice

2023-01-31 02:01:47 AS3 splice

(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);
            }
        }
    }
}

得到的结果:

wKioL1Mint_DPuTDAAEJLL-pr8w512.jpg

很显然将数据集合的最后一个元素去掉了.

splice的前2个元素:

   第一个:要删除元素的开始索引->index

   第二个:一共要删除几个

当第一个元素为-1时,竟然删除了集合的最后的元素,实在是...倒数删除,倒数第一个元素的Index = -1 , 倒数第二个为 -2 , 依次类推,并非不删除元素.

此博文先给一直认为:splice(-1,1)不删除任何元素的AS3游戏开发前端人员.此前我也是.此外,不知道其他语言是不是也是这样:比如C#,Java,C++,欢迎给位拍砖

相关文章