比较两个数组后,仅删除第一个重复值和所有其他匹配值

维卡斯·范维(Vikas Vanvi)

我有两个数组,我试图从第二个数组中的第一个数组中删除所有匹配的值。但是,如果值是重复的,则只能删除第一个重复的值。

例如-我的两个数组是

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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

比较两个具有对象的数组,并从第一个数组中删除重复项

PHP比较两个数组,但第一个数组的所有值都需要在第二个

循环两个数组,第一个数组中没有重复的值

比较两个对象,仅返回第一个对象的匹配值

JAVA-比较两个数组并仅使用第一个中的唯一值创建一个新数组

基于第一个数组比较两个数组,然后返回匹配甚至不精确的值

比较对象键/值对中没有标准键的两个数组,将缺少的值推入javascript中的第一个数组

比较数组中的值,如果有值匹配,则递增第一个数组中的值

仅比较两个数组的第一个索引

尝试比较两个数组并打印第一个数组的行(如果它们匹配并为整个第一个数组循环)

在熊猫的两个单独的列中返回第一个值,然后返回所有其他值

将 3 个不同数组的所有值转换为它们的绝对值并返回所有 3 个值的方法只保留第一个数组而不是接下来的两个数组

比较2个数组值仅推入第一个结果

比较两个数组并显示第一个数组中不存在的第二个数组值

我有两个数组,第一个数组中的值与第二个数组的 ID 字段中的值相同

比较两个数组中的键和值并打印所有值,包括重复项

比较第一个单元格与其他行和计数匹配项的值

比较两个列表并在条件满足后获得第一个值

Php,使用第一个键和第二个值连接两个数组

仅从两个 ArrayList 中删除重复值的第一个实例

比较数组中的两个元素,如果某些属性匹配,则更新第一个数组的属性

熊猫数据框仅读取第一个值,NaN用于其他所有内容

JavaScript 比较两个数组并将第二个数组中具有相同属性值的项推送到第一个数组

比较两个列表并从 list2 中删除第一个匹配的重复项

如何获得分组值和重复值的所有“第一个”实例?

如何比较两个数组中的值以找到一个或多个匹配项?[jQuery]

Java的:是否可以将字符串值在两个数组比较,如果它们匹配,增加第一阵列中的一个int值?

仅将第一个值保留在重复的列上(将0设置为其他值)

PHP - 根据第一个数组的键属性值组合两个数组 - 改进代码