在React中,可以使用Array.prototype.filter()方法来比较两个对象数组并排除不匹配的元素。下面是一个示例代码:
import React from 'react';
const arr1 = [
{ id: 1, name: 'John' },
{ id: 2, name: 'Amy' },
{ id: 3, name: 'Bob' }
];
const arr2 = [
{ id: 1, name: 'John' },
{ id: 2, name: 'Amy' },
{ id: 4, name: 'Alice' }
];
const App = () => {
const filteredArr = arr1.filter((obj1) =>
arr2.some((obj2) => obj2.id === obj1.id && obj2.name === obj1.name)
);
return (
Filtered Array:
{filteredArr.map((obj) => (
- {obj.name}
))}
);
};
export default App;
在上面的代码中,我们使用filter()方法将arr1中的元素与arr2中的元素进行比较。使用some()方法来判断arr2中是否存在与arr1中的元素id和name都匹配的对象。如果找到匹配的对象,则将其保留在filteredArr中。
最后,在React组件中,将filteredArr数组中的元素渲染为列表项。