为了账号安全,请及时绑定邮箱和手机立即绑定

求大神帮我看下这题:JS中使用filter方法过滤数组实现摧毁(destroyer)函数

求大神帮我看下这题:JS中使用filter方法过滤数组实现摧毁(destroyer)函数

慕丝0699092 2018-03-06 14:32:01
//题目要求:实现一个摧毁(destroyer)函数,第一个参数是待摧毁的数组,其余的参数是待摧毁的值。 //我的代码: function destroyer(arr) {     var ary = arr.filter(function(cur){         for(var i=0; i<this.length; i++){         return cur !== this[i+1];    }     }, arguments);     return ary; } destroyer([1, 2, 3, 1, 2, 3], 2, 3) //->执行后ary =[1, 3, 1, 3] ,错误! //->正确答案应是:[1,1]问题:目前函数执行后,返回的数组只筛除第一个待摧毁的值,第二个无法筛除。我知道是因为filter函数的循环里面return后就跳出循环了,但是怎么才能让它继续检测其余的待摧毁值并筛除?谢谢了!!!
查看完整描述

1 回答

?
我吃西瓜很快

TA贡献39条经验 获得超13个赞

function destroyer(arr){
  var keys=[];
  for(var i=1;i<arguments.length;++i)
    keys[i-1]=arguments[i];
  return arr.filter(function(a){
    return keys.indexOf(a)==-1
  })
}
查看完整回答
1 反对 回复 2018-03-06
  • 1 回答
  • 0 关注
  • 1602 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信