//题目要求:实现一个摧毁(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后就跳出循环了,但是怎么才能让它继续检测其余的待摧毁值并筛除?谢谢了!!!
我吃西瓜很快
相关分类