可以使用Set数据结构来实现根据id取不重复的数据,并剔除重复的数据。
假设有一个包含多个对象的数组arr,每个对象都有一个id属性,你可以按照以下步骤进行操作:
- 创建一个空的Set对象,用于存储不重复的id。
- 使用forEach()方法遍历数组arr。
- 在遍历过程中,使用Set的add()方法将每个对象的id属性添加到Set中。
- 创建一个新的数组result,用于存储不重复的数据。
- 使用forEach()方法遍历数组arr。
- 在遍历过程中,使用Set的has()方法判断当前对象的id是否已经存在于Set中,如果不存在,则将当前对象添加到result中。
- 返回result数组,即为根据id取不重复的数据,并剔除重复的数据。
以下是一个完整的示例代码:
Copy
const arr = [
{ id: 1, name: "A" },
{ id: 2, name: "B" },
{ id: 1, name: "C" },
{ id: 3, name: "D" },
{ id: 2, name: "E" }
];
const uniqueData = () => {
const idSet = new Set();
const result = [];
arr.forEach(obj => {
idSet.add(obj.id);
});
arr.forEach(obj => {
if (!idSet.has(obj.id)) {
result.push(obj);
}
});
return result;
};
console.log(uniqueData());