使用Set来防止对数组进行多次添加。可以将JSON的某个属性作为key,将每个遍历过的对象存储在Set中,判断是否已经存在,如果不存在则将其添加到数组中。以下是示例代码:
const data = [{"id":1,"name":"Alice"},{"id":2,"name":"Bob"},{"id":3,"name":"Charlie"}];
const array = [];
const set = new Set();
data.forEach(obj => {
if (!set.has(obj.id)) {
array.push(obj);
set.add(obj.id);
}
});
console.log(array); // [{"id":1,"name":"Alice"},{"id":2,"name":"Bob"},{"id":3,"name":"Charlie"}]
// 添加重复元素
array.push({"id":1,"name":"Alice"});
// Set会自动去重
data.forEach(obj => {
if (!set.has(obj.id)) {
array.push(obj);
set.add(obj.id);
}
});
console.log(array); // [{"id":1,"name":"Alice"},{"id":2,"name":"Bob"},{"id":3,"name":"Charlie"}]
下一篇:遍历JSON并解析键值对