我有两个数组,我试图从第二个数组中的第一个数组中删除所有匹配的值。但是,如果值是重复的,则只能删除第一个重复的值。
例如-我的两个数组是
arr1=[1,1,2,3,4,4]
arr2=[1,3,4]
它应该给出结果为= [1,2,4]
或者如果我的数组是
arr1=[1,1,1,2,3,4,4,4]
arr2=[1,3,4]
它应该给出结果为= [1,1,2,4,4]
我尝试使用过滤器使用其他方法,但没有任何效果。下面的代码删除了所有匹配的值,但我想删除所有匹配的值,如果匹配则仅删除第一个重复值。
arr1 =
arr1.filter(f => !arr2.includes(f));
this.arr2.forEach(x=>{
if (this.arr1.indexOf(x)>=0)
this.arr1.splice(index,1)
})
要么
this.arr1=this.arr1.filter((x,index)=>this.arr2.indexOf(x)<0 ||
this.arr1.indexOf(x)!=index )
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句