javascript - 使用包含重复 JavaScript 的另一个数组从数组中删除元素

标签 javascript jquery arrays

我有 2 个数组,我想从第一个数组中删除元素,然后删除第二个数组中的元素一次,以保留可能的其他重复项:

array1 = [1,1,1,1,2,2,2,2];
array2 = [1,1,2];

//resultingArray = [1,1,2,2,2];

似乎我得到的所有答案都是关于在搜索时删除重复项..

我想知道是否有办法用 filter 来做到这一点,但它似乎只能过滤所有条目

resultingArray = array1.filter(function(el){
   return array2.indexOf(el) === -1;
});

//resultingArray = [];

我能想到的另一种方法是像这样逐个删除每个数组元素

for( var i = 0; i < arr.length; i++){ 
   if ( arr[i] === Number) {
     arr.splice(i, 1);
     i = arr.length;
};

但这似乎不是一个很好的方法?

这些数组之间的差异将删除所有重复的元素

很高兴知道最好的方法或我找不到的重复帖子的说明!!

最佳答案

要实现此目的,您可以循环遍历array2,删除与array1 中当前值匹配的第一个匹配项。像这样的事情:

let array1 = [1,1,1,1,2,2,2,2];
let array2 = [1,1,2];

array2.forEach(i => array1.splice(array1.indexOf(i), 1));

console.log(array1);

关于javascript - 使用包含重复 JavaScript 的另一个数组从数组中删除元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60248339/

相关文章:

javascript - jQuery Validation form后卡住,继续提交

javascript - 当按钮名称为 "submit"时,表单提交按钮将不会提交

javascript - 尝试使用 Chart.js 设置刻度刻度 beginAtZero 不成功,为什么?

javascript - Jquery 验证正则表达式中的 "u0080-"和 "u024F"是什么?

javascript - 如何获得 L.polygon 边界,不包括内部点

javascript - 如何从 javascript 中的二维数组中删除开头的逗号?

javascript - 如何添加 Javascript 中所有测试使用的全局变量?

javascript - ASP.NET - 按钮的客户端 OnClick 事件破坏页面验证

php - 什么是JS等价于PHP函数number_format?

arrays - 具有多种类型对象的 Firestore 快照映射