js复杂数组去重的方法有哪些
温馨提示:这篇文章已超过532天没有更新,请注意相关的内容是否还可用!
在JavaScript中,有多种方法可以对复杂数组进行去重。可以将复杂数组转换为Set对象,然后再将其转换回数组,即可实现数组去重。javascriptlet arr = [{id: 1}, {id: 2}, {id: 1}, {id: 3}];let uniqueArr = [...new Set].map;console.log;2. 使用filter()方法和indexOf()方法:通过遍历数组,使用indexOf()方法检查元素在数组中的位置,并将不重复的元素筛选出来。javascriptlet arr = [{id: 1}, {id: 2}, {id: 1}, {id: 3}];let uniqueArr = arr.reduce;console.log;以上是几种常用的方法,可以根据具体情况选择适合的方法进行数组去重。
在JavaScript中,有多种方法可以对复杂数组进行去重。
1. 使用Set对象:Set对象是ES6中引入的一种新的数据结构,它允许存储任何类型的唯一值。可以将复杂数组转换为Set对象,然后再将其转换回数组,即可实现数组去重。javascript
let arr = [{id: 1}, {id: 2}, {id: 1}, {id: 3}];
let uniqueArr = [...new Set(arr.map(JSON.stringify))].map(JSON.parse);
console.log(uniqueArr);
2. 使用filter()方法和indexOf()方法:通过遍历数组,使用indexOf()方法检查元素在数组中的位置,并将不重复的元素筛选出来。javascript
let arr = [{id: 1}, {id: 2}, {id: 1}, {id: 3}];
let uniqueArr = arr.filter((item, index) => {
return arr.findIndex(obj => JSON.stringify(obj) === JSON.stringify(item)) === index;
});
console.log(uniqueArr);
3. 使用reduce()方法:使用reduce()方法遍历数组,将不重复的元素存储在一个新的数组中。javascript
let arr = [{id: 1}, {id: 2}, {id: 1}, {id: 3}];
let uniqueArr = arr.reduce((result, item) => {
const index = result.findIndex(obj => JSON.stringify(obj) === JSON.stringify(item));
if (index === -1) {
result.push(item);
}
return result;
}, []);
console.log(uniqueArr);
以上是几种常用的方法,可以根据具体情况选择适合的方法进行数组去重。
