JS数组去重有哪些方法?

如题所述

利用indexOf()方法去重

在数组中去除重复元素,可以使用indexOf()方法。以数组['blue', 'reen', 'blue']为例,首先定义新数组newArr用于存放不重复的元素。遍历旧数组arr,通过新数组的indexOf()方法查询旧数组元素是否存在。如果返回值为-1,说明新数组中没有该元素,将其添加到新数组newArr中。

利用splice()方法去重

splice()方法能够删除数组内容。其用法如下:splice(index, deleteCount, item1, item2, ...)。具体使用时,可以根据需要删除的元素位置和数量进行调整。

利用ES6 Set去重

ES6引入了Set数据结构,它与数组类似,但成员值必须唯一,不存在重复元素。创建一个Set对象,将数组元素逐个添加进去,Set会自动去除重复值,最后将Set转换为数组即可。

利用sort()方法排序,然后对比前后元素

对数组进行排序后,相邻元素可以通过比较判断是否重复。如果相邻元素相等,说明存在重复值,可以将该元素去除。

利用includes()方法检测数组是否有某个元素

includes()方法用于检查数组中是否包含指定元素。如果元素存在,则返回true;否则返回false。

利用filter去重

使用filter()方法遍历数组,通过判断当前元素是否存在于其他位置,去除重复值。具体实现时,可以将数组元素与自身比较,如果相等则排除。

利用Map数据结构去重

Map数据结构可以存储键值对,使用其存储数组元素及其出现次数,遍历Map查找出现次数为1的元素,即可得到去重后的数组。
温馨提示:答案为网友推荐,仅供参考
相似回答