gpt4 book ai didi

javascript - 在 JavaScript 过滤器方法内部进行迭代

转载 作者:行者123 更新时间:2023-12-02 21:05:28 25 4
gpt4 key购买 nike

我正在尝试比较函数的两个给定参数。具体问题如下:

您将获得一个初始数组(销毁器函数中的第一个参数),后跟一个或多个参数。从初始数组中删除与这些参数具有相同值的所有元素。

注意您必须使用参数对象。

console.log(destroyer([1, 2, 3, 1, 2, 3], 2, 3));//预期输出:[1,1]

我正在使用过滤器方法来迭代数组,但无法将参数与过滤器回调内的数组元素进行比较。

    function destroyer(arr, ...args) {

let result = arr.filter(num => {

for (let i = 0; i<=args.length; i++ ){
num !== args[i]
}

});
return result;

}


console.log(destroyer([1, 2, 3, 1, 2, 3], 2, 3));

我可以使用 for 循环进行迭代,但无法使用 for 循环的输出来进行过滤器迭代。

有什么想法吗?

最佳答案

使用 .filter() 可能是实现目标的更简单方法与 .includes() 。此外,您可以使用 ...rest 所谓的 rest parameters对于您的功能,请参阅文档:

The rest parameter syntax allows us to represent an indefinite number of arguments as an array.

尝试如下:

const destroyer = (arr, ...rest) => {
return arr.filter(num => !rest.includes(num));
}

console.log(destroyer([1, 2, 3, 1, 2, 3], 2, 3));

希望这会有所帮助!

关于javascript - 在 JavaScript 过滤器方法内部进行迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61237050/

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