这是我给出的代码。我环顾四周,我不太明白。
这是我的问题函数驱逐舰接受一个参数一个数组,但当它被调用时,3个参数被发送一个数组和2个整数。
如果没有传递函数,我如何访问函数中的两个整数参数? javascript中有什么东西允许这个吗?
{{1}}
答案 0 :(得分:1)
您可以在函数中使用arguments
变量来获取传递参数的列表。
// ES5
function destroyer(arr) {
var pieces = Array.prototype.splice.call(arguments, 1);
var i = 0;
while (arr[i]) {
-1 === pieces.indexOf(arr[i]) ? i++ : arr.splice(i, 1);
}
return arr;
}
// ES6
function destroyer2(arr, ...pieces) {
var i = 0;
while (arr[i]) {
-1 === pieces.indexOf(arr[i]) ? i++ : arr.splice(i, 1);
}
return arr;
}
console.log(JSON.stringify(destroyer([1, 2, 3, 1, 2, 3], 3, 1)));
console.log(JSON.stringify(destroyer2([1, 2, 3, 1, 2, 3], 2, 3)));