我试图从数组中拼接某些已定义值的所有实例。

    filterfunc: function(anyArray){
      for(var i = 0; i <anyArray.length; i++){
        var v = anyArray[i];
          for(var j = 1; j <arguments.length; j++){
           if(v == arguments[j]){
              anyArray.splice(i,1);
            }
          }
        }
          return anyArray;
      },


我将数组与不需要的参数一起传递。

我遇到的问题是,拼接函数无法拼接该值的所有实例。

例如:filterfunc([1,2,2,2,3,3,3,4,5,6],2,3);
结果:[1,2,3,3,4,5,6]

我希望它返回[1,4,5,6]

最佳答案

我的JavaScript不好,但是删除数组项会减小它们的大小,在这种情况下,最好以向后顺序遍历。

for(var i = anyArray.length-1; i>0; i--){
   var v = anyArray[i];
   for(var j = 1; j <arguments.length; j++){
      if(v == arguments[j]){
         anyArray.splice(i,1);
      }
   }
}

关于javascript - Javascript:在数组中拼接元素的所有实例,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15190125/

10-11 11:38