Linux 拨号vps windows公众号手机端

js复杂数组去重的方法有哪些

lewis 7年前 (2019-01-23) 阅读数 14 #程序编程
文章标签 js

在JavaScript中,有多种方法可以对复杂数组进行去重。

  1. 使用Set对象:Set对象是ES6中引入的一种新的数据结构,它允许存储任何类型的唯一值。可以将复杂数组转换为Set对象,然后再将其转换回数组,即可实现数组去重。
let arr = [{id: 1}, {id: 2}, {id: 1}, {id: 3}];
let uniqueArr = [...new Set(arr.map(JSON.stringify))].map(JSON.parse);
console.log(uniqueArr);
  1. 使用filter()方法和indexOf()方法:通过遍历数组,使用indexOf()方法检查元素在数组中的位置,并将不重复的元素筛选出来。
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);
  1. 使用reduce()方法:使用reduce()方法遍历数组,将不重复的元素存储在一个新的数组中。
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);

以上是几种常用的方法,可以根据具体情况选择适合的方法进行数组去重。

版权声明

本文仅代表作者观点,不代表米安网络立场。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门