繁体   English   中英

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

[英]Remove elements from array with another array containing duplicates javascript

我有 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);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM