free code camp摧毁函数,运用到argument以及array.filter()方法

Seek and Destroy
摧毁数组

金克斯的迫击炮!

实现一个摧毁(destroyer)函数,第一个参数是待摧毁的数组,其余的参数是待摧毁的值。
第一种解法:

function destroyer(arr){
    var args=Array.prototype.slice.call(arguments,1);
    var a=arr.filter(function(item,index,array){
        return args.indexOf(item)==-1;//运用array.filter()方法最后要返回布尔值
    })
    console.log(a);
  }  
  destroyer([1, 2, 3, 1, 2, 3], 2,3)

第二种解法:

function destroyer(arr){
    var args=Array.prototype.slice.call(arguments,1);//Array.prototype.slice.call()是把argument转化为一个数组,1是slice()方法里面的起始下标
    var a=arr.filter(function(val){
        for (var i=0;i<args.length;i++){
          if(val==args[i]){
            return false;
          }
        }
        return true;//注意等for循环遍历完了之后再返回
    })
    console.log(a);
  }  
  destroyer([1, 2, 3, 1, 2, 3], 2,3)
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容