美文网首页
删除两个数组中id相同的对象

删除两个数组中id相同的对象

作者: 隔壁甜言 | 来源:发表于2023-09-25 16:37 被阅读0次

问题:删除两个数组中id相同的对象

let data1 = [{
id: 1,
name: 2
}, {
id: 2,
name: 3
}];
let data2 = [{
id: 1,
name: 2
}, {
id: 3,
name: 4
}];

1、方案一思路双重循环、创建一个新数组,用于存储删除后的结果

let result = [];
// 遍历data1数组
for (let obj1 of data1) {
let found = false;
// 遍历data2数组
for (let obj2 of data2) {
// 如果两个对象的id相同,则将found标记为true,表示找到了相同的对象
if (obj1.id === obj2.id) {
found = true;
break;
}
}
// 如果没有找到相同的对象,则将该对象添加到结果数组中
if (!found) {
result.push(obj1);
}
}

2、方案二

data1 = data1.filter(item => data2.findIndex(it => it.id === item.id) === -1);

3、方案三

data1 = data1.filter(item1 => !data2.some(item2 => item2.id === item1.id));

相关文章

  • 数据结构

    es6方法过滤掉两个数组中对象id值相等的项 es6取两个数组的相同项 filter 过滤两个数组中相同的项 JS...

  • Vue ES6 数组删除

    .根据id删除对象数组中的对象 var resultData = originData.filter((item)...

  • 造轮子

    工作中碰到需要自己匹配数据的需求,后端给我两个对象数组,我需要自己把两个对象数组中相同id属性的数据匹配出...

  • reduce() 的作用

    假设有这样一个数组: 我们想去掉数组中id重复的对象,比如同样id为2的两个对象—— {id: 2, name: ...

  • JS实现数组与树结构的相互转换

    1、数组转换为树结构 对象数组一定要按照id值排好序,每个对象id唯一,但不同对象的parentId可以相同,可根...

  • vue 数组中,去重ID相同的对象

    数据返回格式如下: 方法如下: var newArr = arr.filter((x, index, self) ...

  • js 小技巧

    去除两个数组里面相同的id数据"""let arr1= [{ id: 1 }, { id: 2 }, { id: ...

  • js 数组操作合集(主要针对对象数组)

    1,根据对象中元素 查找对象数组中对应的元素 2,删除数组中指定对象的元素 并返回删除后的数组 3,js数组实现权...

  • 数组分类

    js对象数组(JSON) 根据某个共同字段 分组 希望的是将下面的对象数组: 根据相同id字段分组,转换成下面这种...

  • lodash删除数组中的元素和对象数组中的元素

    lodash删除数组中的元素和对象数组中的元素 1.删除普通数组中的元素 var fruits = ['Apple...

网友评论

      本文标题:删除两个数组中id相同的对象

      本文链接:https://www.haomeiwen.com/subject/lqkgvrtx.html