js数组去重的方法

在这里介绍三种js数组去重的方法

第一种:通过数组的splice方法

代码如下:

js数组去重的方法
打印得到的结果如下:
js数组去重的方法
1.首先外层循环将数组中下标为i的元素赋值给变量item;

2.其次进入内层循环,内层循换是当前i下标的后一项开始遍历整个数组,并将每一个元素与当前的item进行比较,如果相等就将下标为j的元素删除;

3.arr.aplice(j,1);意思是从数组中下标为j开始删除一个元素,即删除下标为j的元素;

4.内循环完成后再次进行外循环,以此类推,最后得到的是元素没有重复的数组。

第二种:用到数组的push方法

代码如下:
js数组去重的方法
打印得到的结果如下:
js数组去重的方法
1.外循环,遍历数组arr,将数组中下标为i的元素赋值给变量item,并设置一个变量bool赋值为true,作为一个开关;

2.内循环,遍历数组arr1,循环内部判断当前item是否和内循环当前下标为j的元素相等,如果相等,就将false赋给变量bool,并跳出内循环;如果不相等,继续内循环直到内循环结束,此时的bool依旧为true;

3.内循环结束时,判断bool是否为true,如果为true就将itme添加到arr1的尾部,在这里如果bool为true时就证明内循环时arr1数组中没有一个元素和item相等。

4.当内外循环全部结束后,就得到了一个元素都不相同的数组arr1。

第三种:用到数组的indexOf方法和push方法

代码如下:

js数组去重的方法
打印得到的结果如下:

js数组去重的方法
1.创建一个需要去重的数组arr,和一个空数组arr1;

2.循环,遍历数组arr,判断如果在arr1数组中找不到arr[i]这个元素,就将arr[i]这个元素添加到arr1数组的尾部。这里arr1.indexOf(arr[i]),意思是在arr1数组中寻找arr[i]这个元素,如果能找到就返回该元素所在的下标,如果找不到这个元素就返回-1,所以这里根据是否等于-1来判断;

3.当循环全部结束后,就得到了一个元素都不相同的数组arr1。