splice 删除多个元素注意事项

原理:随机抽取几个数,而后删除指定下标。算法

 

问题:出现了重复。数组

   //测试
     var arr=["aa","bb","cc","dd","ee","ff"];
           var xiabiao=[0,4,2];
     for(var j=0;j<xiabiao.length;j++){
     
       arr.splice(xiabiao[j],1);
     }
   trace(arr);

 

正确的算法  k为第几轮测试

   //测试  结果是 bb dd ff
     var arr=["aa","bb","cc","dd","ee","ff"];
           var xiabiao=[0,4,2];
     xiabiao.sort();
	 
	 var k=0;
	 for(var j=0;j<xiabiao.length;j++){

	   arr.splice(xiabiao[j]-k,1);
	k++;
     }


一次删除以后,这个数组的长度就发生了变化,下标不许确了,须要改变。spa

 

参考http://blogzhoubo.iteye.com/blog/1692261code

相关文章
相关标签/搜索