我想实现一个函数,它接受一个数组和一些其他参数,然后从该数组中删除其他参数。 所以我使用了第二个参数的剩余参数,然后使用 Array.from 将其转换为数组, 然后使用 .length 获取其长度以将其用作拼接的第二个参数,但它不起作用。 我知道有更好的方法来解决这个问题,但我想知道为什么它不起作用。
const removeFromArray = function(array, ...number) {
let numArray = Array.from(number)
for(let i = 0; i < array.length ; i++ ){
if(number == array[i]){
array.splice( i , numArray.length);
}
}
return array;
};
removeFromArray([2, 1, 2, 3, 4], 1, 2);
期望输出为:
[3, 4]
但它是:
[2, 1, 2, 3, 4]
const removeFromArray = 函数(数组,...数字){ 让 numArray = Array.from(numbers);
for (let i = 0; i < numArray.length; i++) {
let index = array.indexOf(numArray[i]);
while (index !== -1) {
array.splice(index, 1);
index = array.indexOf(numArray[i]);
}
}
return array;
};
console.log(removeFromArray([2, 1, 2, 3, 4], 1, 2));