JS中数组去重的各种方法

156 阅读2分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第3天,点击查看活动详情

typora-root-url: images
typora-copy-images-to: images

利用push数组的实现方法

methods-one:

定义一个新数组,遍历原数组,然后按顺序放入原数组中的元素,放入前对比两个数组中元素是否有重复,不同则放入。

注意:用到的数组方法有:

.push(date)在数组尾部添加元素

实现代码如下:

1609397106205.png

运行结果:

1609392499374.png

methods-two:

先将原数组排序,在与相邻的进行比较,如果不同则存入新数组。

注意:用到的数组方法有:

.sort() 排序

.push(date)在数组尾部添加元素

实现代码如下:

1609392955137.png

运行结果:

1609392972772.png

methods-three:

利用对象属性存在的特性,如果没有该属性则存入新数组。

注意:用到的数组方法有:

.push(date)在数组尾部添加元素

实现代码如下:

1609393791517.png

运行结果:

1609393809078.png

利用splice数组的实现方法

methods-four:

利用数组原型对象上的 splice 方法

注意:用到的数组方法有:

.splice( ) 向/从数组中添加/删除项目,然后返回被删除的项目

实现代码如下:

1609394397104.png

运行结果:

1609394439344.png

利用数组的indexOf下标属性来查询

methods-five:

利用.indexOf()查找元素是否存在,存在就输出下标,不存在就输出-1

注意:用到的数组方法有:

.indexOf()查找元素是否存在,存在就输出下标,不存在就输出-1

.push(date)在数组尾部添加元素

实现代码如下:

1609394931257.png

more:

最简洁的方法是 ES6的set 方法 ,因为Set数据结构,它类似于数组,其成员的值都是唯一的。但利用该方法时,我们需要利用Array.from将Set结构转换成数组

实现代码如下:

1609395267633.png 注意:set方法是ES6中,注意使用场景。且要转化数据结构。