js找出两个数组对象,相同的项
时间: 2023-10-10 10:11:17 浏览: 81
可以使用以下的方法来找出两个数组对象中相同的项:
```javascript
function findCommonItems(arr1, arr2) {
const commonItems = [];
for (let item1 of arr1) {
for (let item2 of arr2) {
if (isEqual(item1, item2)) {
commonItems.push(item1);
break;
}
}
}
return commonItems;
}
function isEqual(obj1, obj2) {
return JSON.stringify(obj1) === JSON.stringify(obj2);
}
// 示例数据
const arr1 = [
{ id: 1, name: 'John' },
{ id: 2, name: 'Jane' },
{ id: 3, name: 'Alice' }
];
const arr2 = [
{ id: 2, name: 'Jane' },
{ id: 4, name: 'Bob' },
{ id: 5, name: 'Alice' }
];
const commonItems = findCommonItems(arr1, arr2);
console.log(commonItems);
```
上述代码中,`findCommonItems` 函数会遍历 `arr1` 和 `arr2`,并使用 `isEqual` 函数来比较两个对象是否相等。如果找到相同的项,则将其添加到 `commonItems` 数组中。最后,返回 `commonItems` 数组。注意,`isEqual` 函数使用 `JSON.stringify` 来比较对象的字符串表示是否相等,这种比较可能会有一些限制和性能问题,要根据实际情况进行优化。