(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.= new [ "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++,欢迎给位拍砖