首先我们先温习一下数组的常用的方法
- pop
- push
- shift
- unshift
- slice
- splice
- sort
- reverse
- concat
- join
- indexOf
- lastIndexOf
- map
- forEach
还有其他可以处理数组的几个方法
- includes:返回一个布尔值,如果存在返回false
- find:返回第一次找到的那一项
- some:返回一个布尔值,只要一个是true,就返回true
- every:返回一个布尔值,需要每一项都是true,才返回true
- filter:返回一个过滤后的新数组;如果返回true就留下,false就过滤掉
- reduce:收敛
下面我们进入正题,来看看数组去重的12中姿势,不对是方法
方法一:set :不是一种数据类型,是一种数据结构;成员唯一
方法二:对象属性名不能重复
方法三:indexOf
方法四:sort
方法五:includes :包含;如果数组包含那一项,返回true;不包含返回false;
方法六:hasOwnProperty : 检测属性名是否是对象的一个私有属性;返回一个布尔值;
方法七:filter+indexOf
方法八:splice
方法九:递归
方法十:Map :利用了Map数据结构存值的特点;
方法十一:reduce
方法十二:类似于方法一的set,用了剩余运算符...
大家还知道哪些姿势,欢迎一起解锁
(源于网络,侵删)