gpt4 book ai didi

JavaScript 使用过滤器和循环从数组中删除多个值

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:42:26 25 4
gpt4 key购买 nike

我是新来的,需要一些帮助来编写函数 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,我发现我的过滤器函数没有正确循环。

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);
}

最佳答案

您的 filterer 函数可以简单得多:

function filterer (value) {
return itemToRemove.indexOf(value) === -1;
}

关于JavaScript 使用过滤器和循环从数组中删除多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33274362/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com