splice 算法问题

大灰狼wow 发布于 2014/10/04 21:15
阅读 111
收藏 0

我做了个抽奖机。

原理:随机生成了一个数组 包含n个数据(譬如 var a=[2,0,5,3,7])

原始有份名单 也是一个数组 

var listArr=["梨花","喇叭花","玫瑰花","向日葵","郁金香","仙人掌","狗尾巴","杜鹃","绿萝","四叶草"];

现在就是要listArr删除以a中的元素为下标。

求:删除后的结果?

我一开始用了splice 结果是不对的。

var listArr=["梨花","喇叭花","玫瑰花","向日葵","郁金香","仙人掌","狗尾巴","杜鹃","绿萝","四叶草"];


     var a=[2,0,5,3,7];
     for(var j=0;j<a.length;j++){
      
       listArr.splice(a[j],1);
     }
   trace(listArr);//错误的



//后来我直接用两个for循环比较,然后放到一个新的数组中,虽然可以,但希望能找到更好的算法。


 


加载中
0
Micooz
Micooz
splice会重置下标,当然结果就不对了,试试remove等其他删除方法
0
kimown
kimown
    var a=[2,0,5,3,7];
     for(var j=0;j<a.length;j++){
       delete listArr[a[j]];
       //listArr.splice(a[j],1);

     }


返回顶部
顶部