当我们处理包含多个json对象的数组数据时,可能需要将重复的json对象去重,以免造成数据混乱。以下是JS实现去除数组中重复json对象的方法示例及详细步骤:
当我们处理包含多个json对象的数组数据时,可能需要将重复的json对象去重,以免造成数据混乱。以下是JS实现去除数组中重复json对象的方法示例及详细步骤:
方法一:使用Array.prototype.filter()和JSON.stringify()
const arr = [{name: 'Alice', age: 23}, {name: 'Bob', age: 24}, {name: 'Alice', age: 23}];
const uniqueArr = arr.filter((obj, index, arr) => {
return arr.map(mapObj => JSON.stringify(mapObj)).indexOf(JSON.stringify(obj)) === index;
});
console.log(uniqueArr); // [{name: 'Alice', age: 23}, {name: 'Bob', age: 24}]
此方法通过对数组的每一个json对象进行字符串化,再利用数组的indexOf()方法来返回该字符串在数组中首次出现的位置,来确定该json对象是否重复。需要注意的是,该方法可能会存在一些性能问题,需要谨慎使用。
方法二:使用Map数据结构
const arr = [{name: 'Alice', age: 23}, {name: 'Bob', age: 24}, {name: 'Alice', age: 23}];
const map = new Map();
const uniqueArr = [];
arr.forEach(obj => {
if (!map.has(JSON.stringify(obj))) {
map.set(JSON.stringify(obj), true);
uniqueArr.push(obj);
}
});
console.log(uniqueArr); // [{name: 'Alice', age: 23}, {name: 'Bob', age: 24}]
该方法使用JavaScript的Map数据结构,将每个json对象以字符串为键存储在Map实例中。当下一个json对象与已有的任何一个对象相同时,它已存在于Map实例中,不需要将其加入结果数组中。
总之,即使有许多处理数组的不同方法,这些方法仍然是处理json对象数组的最佳实践,在进行任何复杂的AJAX操作或者其他方面需要操作json数据时非常实用。
沃梦达教程
本文标题为:JS实现去除数组中重复json的方法示例


基础教程推荐
猜你喜欢
- html5视频如何嵌入到网页(视频代码) 2025-01-22
- js判断一个对象是否在一个对象数组中(场景分析) 2022-10-21
- Django操作cookie的实现 2024-04-15
- 纯css实现漂亮又健壮的tooltip的方法 2024-01-23
- webpack学习笔记一:安装webpack、webpack-dev-server、内存加载js和html文件、loader处理非js文件 2023-10-29
- Loaders.css免费开源加载动画框架介绍 2025-01-23
- clientX,pageX,offsetX,x,layerX,screenX,offsetLeft区别分析 2024-01-08
- Bootstrap学习笔记之css组件(3) 2024-01-22
- JSONObject与JSONArray使用方法解析 2024-02-07
- 创建Vue3.0需要安装哪些脚手架 2025-01-16