vue js两个数组对象去除相同
时间: 2023-05-27 13:02:32 浏览: 130
删除一维数组中相同元素
可以使用`filter`和`some`方法来从第一个数组中去除与第二个数组重复的元素,例如:
```javascript
let arr1 = [{ id: 1, name: 'John' }, { id: 2, name: 'Anna' }, { id: 3, name: 'Bob' }];
let arr2 = [{ id: 2, name: 'Anna' }, { id: 4, name: 'Mike' }];
let newArr = arr1.filter(item1 => !arr2.some(item2 => item1.id === item2.id));
console.log(newArr); // [{ id: 1, name: 'John' }, { id: 3, name: 'Bob' }]
```
这段代码首先使用`filter`方法过滤掉第一个数组中与第二个数组重复的元素,并返回一个新数组。`filter`方法中传入的箭头函数接收一个参数`item1`,表示正在遍历的第一个数组的元素。在箭头函数中,使用了`some`方法来检查第二个数组中是否存在一个元素`item2`,它的`id`与当前遍历的`item1`的`id`相同。如果存在相同的元素,`some`方法返回`true`,此时箭头函数返回`false`,表示要过滤掉`item1`。如果第二个数组中不存在相同的元素,`some`方法返回`false`,此时箭头函数返回`true`,表示要保留`item1`。最终,`filter`方法会返回一个新数组,该数组中只包含第一个数组中不与第二个数组重复的元素。
阅读全文