我正在尝试传递值[1,2,3,1,2,3],使用功能“驱逐舰”和值2,3(或更多值ex:1,3, 5.)从前一个数组中删除。始终第一部分是一个数组,用于从数组中删除和后跟要删除的数字
这里有你必须解决的代码:
function destroyer(arr) {
// Remove all the values
return arr;
}
destroyer([1, 2, 3, 1, 2, 3], 2, 3);
答案 0 :(得分:3)
尝试这种方法。它使用spread operator和includes()函数
... - 是广告运营商
function destroyer(arr, ...items) {
return arr.filter(i => !items.includes(i));
}
let arr = destroyer([1, 2, 3, 1, 2, 3], 2, 3);
console.log(arr);

答案 1 :(得分:0)
您可以使用arguments
变量访问传递给函数的所有参数。注意,这是一个类似于对象但不是数组的数组,因此您必须将其转换为数组。当你这样做时,你的arr
将是第一个值,即使这是参数的一部分。您可以使用.slice(1)
从第二个元素中获取所有值。
function destroyer(arr) {
var args = [].slice.call(arguments,1);
return arr.filter(function(val){
return args.indexOf(val) < 0
})
}
console.log(destroyer([1, 2, 3, 1, 2, 3], 2, 3));
&#13;
function destroyer(arr) {
var args = Array.from(arguments).slice(1);
return arr.filter(x=>!args.includes(x));
}
console.log(destroyer([1, 2, 3, 1, 2, 3], 2, 3));
&#13;