js 数组去重最简单的方法

在编程过程中,我们经常会遇到数组中出现重复元素的情况,需要对数组进行去重操作。本文将介绍几种最简单的方法来实现数组去重,包括使用Set数据结构、利用indexOf()方法和includes()方法、使用filter()方法。
使用Set数据结构
Set是ES6中新增的数据结构,它类似于数组,但成员的值都是唯一的,没有重复的值。我们可以利用Set数据结构的这一特性来实现数组去重。
let arr = [1, 2, 2, 3, 3, 4, 5];
let uniqueArr = Array.from(new Set(arr));
console.log(uniqueArr);
运行结果:
[1, 2, 3, 4, 5]
通过将数组转换为Set数据结构,再通过Array.from()方法将Set数据结构转换为数组,就可以实现数组去重。需要注意的是,Set数据结构只能保证元素的唯一性,不保证元素的顺序。
利用indexOf()方法
利用indexOf()方法可以判断数组中是否存在某个元素,如果存在则返回该元素在数组中的索引,否则返回-1。我们可以结合indexOf()方法来实现数组去重。
let arr = [1, 2, 2, 3, 3, 4, 5];
let uniqueArr = arr.filter((item, index, array) => {
return array.indexOf(item) === index;
});
console.log(uniqueArr);
运行结果:
[1, 2, 3, 4, 5]
在filter()方法的回调函数中,利用indexOf()方法判断当前元素在数组中的索引是否等于当前索引,如果相等则说明该元素是第一次出现,即为去重后的数组。
使用includes()方法
includes()方法用来判断数组中是否包含某个元素,如果包含则返回true,否则返回false。我们可以利用includes()方法来判断数组中是否已经包含了某个元素,以实现数组去重。
let arr = [1, 2, 2, 3, 3, 4, 5];
let uniqueArr = arr.filter((item, index) => {
return arr.indexOf(item) === index;
});
console.log(uniqueArr);
运行结果:
[1, 2, 3, 4, 5]
在filter()方法的回调函数中,利用indexOf()方法判断当前元素在数组中的索引是否等于当前索引,如果相等则说明该元素是第一次出现,即为去重后的数组。
总结
本文介绍了三种最简单的方法来实现数组去重,包括使用Set数据结构、利用indexOf()方法和includes()方法、使用filter()方法。
极客笔记