我编写此代码是为了删除所有 2
和3
从数组中得到这个结果:
destroyer([1, 2, 3, 1, 2, 3], 2, 3); // returns [1, 1]
但结果是:
destroyer([1, 2, 3, 1, 2, 3], 2, 3); // returns [1, 2, 1, 3]
这是函数代码:
function destroyer(arr) {
var a = Array.prototype.slice.call(arguments);
var b = a[0];
for (var i = 1; i < a.length; i++) {
if (b.indexOf(a[i]) !== -1) {
b.splice(a[i], 1);
}
}
return b;
}
console.log(destroyer([1, 2, 3, 1, 2, 3], 2, 3));
最佳答案
您可以使用 .filters
来执行此操作
b.filter(el => !a.includes(el));
查看下面的完整代码:
function destroyer(a, ...b) {
a = a.filter(el => !b.includes(el));
console.log(a);
}
destroyer([1, 2, 3, 1, 2, 3], 2, 3);
关于javascript - 如何从初始数组中删除与这些参数具有相同值的所有元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48898789/