我是新来的,需要帮助编写一个名为
destroyer() 函数将数组和额外的数字作为参数传递。其目的是从数组中移除这些数字。
例如:
输出:[1,1]
输出:
输出:
destroyer()
的函数,用于从一个数组中删除多个值。destroyer() 函数将数组和额外的数字作为参数传递。其目的是从数组中移除这些数字。
例如:
destroyer([1, 2, 3, 1, 2, 3], 2, 3)
输出:[1,1]
destroyer(["tree", "hamburger", 53], "tree", 53)
输出:
["汉堡包"]
destroyer([2, 3, 2, 3], 2, 3)
输出:
输出:[]
注意:示例仅显示要删除的2个附加数字。但是,destroyer()函数应该能够删除任意数量的值(即4、5或6个参数)。
然而,我的代码没有产生相同的结果。具体来说,使用console.log,我发现我的filterer函数没有正确循环。
1)有人可以帮我调试吗?
2)有更好的编写此函数的方法吗?
非常感谢!!!
function destroyer() {
var args = Array.prototype.slice.call(arguments);
var itemToRemove = args.slice(1);
console.log(itemToRemove);
var newArr = args[0];
console.log(newArr);
function filterer(value) {
for (var i = 0; i < itemToRemove.length; i++) {
console.log(i);
console.log(itemToRemove[i]);
if (value != itemToRemove[i]) {
return value;
}
}
}
return newArr.filter(filterer);
}
destroyer([1, 2, 3, 1, 2, 3], 2,4, 3)
? - Grundy