第一种:
indexOf() 方法可返回某个指定元素在数组中首次出现的位置。如果在数组中没找到指定元素则返回 -1。(该方法不支持IE8及更早的IE版本)
第二种
forEach() 方法用于调用数组的每个元素,并将元素传递给回调函数。
参数
参数 | 描述 |
function(currentValue, index, arr) | 必需。 数组中每个元素需要调用的函数。 函数参数: |
thisValue | 可选。传递给函数的值一般用 "this" 值。 如果这个参数为空, "undefined" 会传递给 "this" 值 |
参数 | 描述 |
currentValue | 必需。当前元素 |
index | 可选。当前元素的索引值。 |
arr | 可选。当前元素所属的数组对象。 |
第三种
主要利用的是数组中的filter方法,filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。
filter()方法的用法和forEach()方法差不多,此处就不再详细赘述了。
第四种
利用数组的排序方法,先将数组进行排序,然后与temp进行比较
第五种
利用数组中的splice()方法,以及for循环的嵌套
第六种
主要利用的是ES6中的set数据结构(由一组无序且唯一的项组成),以及扩展运算符...
第七种,主要利用ES6中的set数据结构,以及Array.from()方法
Array.from()方法可以将 Set 结构转为数组。
第八种,遍历数组,利用object对象保存数组值,判断数组值是否已经保存在object中,未保存则push到新数组并用object[arrayItem]=1的方式记录保存
但是只适合数组中是基本数据类型的情况,对于数组里面是引用类型数据的情况不适用,看下面的打印结果就知道了