[英]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.