首先,我们需要使用Array.filter()方法过滤掉第二个数组中不存在的元素。
其次,我们可以使用Array.some()方法从第二个数组中找出存在于第一个数组中的元素。
下面是示例代码:
const arr1 = [
{ id: 1, name: 'John' },
{ id: 2, name: 'Jane' },
{ id: 3, name: 'Mark' }
];
const arr2 = [
{ id: 1, name: 'John' },
{ id: 3, name: 'Mark' },
{ id: 4, name: 'Mary' }
];
const result = arr1.filter(obj1 => arr2.some(obj2 => obj1.id === obj2.id));
console.log(result); // [{ id: 1, name: 'John' }, { id: 3, name: 'Mark' }]
在上面的代码中,我们使用Array.filter()方法过滤掉arr2中不存在的元素。使用Array.some()方法来判断对象是否存在于arr1中。最终,我们得到仅包含存在于arr1和arr2中的元素的新数组。