方法1、双重for循环![](https://i-blog.csdnimg.cn/blog_migrate/b3730b7723e21f9d702c0fbd71cec0c1.png)
方法2、for循环 +findIndex
主要利用findIndex
的特性,查找元素找不到
就返回-1
, 接下来就需要判断,如果是-1,说明没找到,就往新数组里面添加元素。
方法3、sort 排序
首先利用 sort 方法
进行排序。进行循环,如果原数组的第 i 项
和新数组的i - 1
项不一致,就push
进去。
方法4、Set
ES6
中新增了数据类型Set,Set的一个最大的特点就是数据不重复。Set函数可以接受一个数组(或类数组对象)作为参数来初始化,利用该特性也能做到给数组去重。
方法5、set + Array.from
利用 set数据不重复的特点,结合 Array.from
方法6、filter + indexOf
indexOf,可以检测某一个元素在数组中出现的位置,找到返回该元素的下标,没找到返回 -1
方法7、includes
利用 includes
检查新数组是否包含原数组的每一项。 如果不包含,就push进去
方法 8、 for + object
利用对象属性名不能重复这一特点。如果对象中不存在,就可以给 push 进去
方法9、for + splice
利用 splice 进行切割
方法10、filter + indexOf
利用 filter 过滤 配合 indexOf 查找元素
方法11、Map
利用数据结构存值的特点
方法12:reduce