JavaScript 数组去重

发布时间:2022-06-27 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了JavaScript 数组去重脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

1.实现方法:

  通过数组对象方法splice()可以实现数组元素的去重操作;

  通过遍历数组中的每一个元素,将该元素同它之后的所有元素进行逐一比较,若相同,则删除后面的元素,达到去重的目的;

2.splice()用法:  

splice(i,n,ele)方法:删除数组中指定元素,并将被删除的内容作为返回值返回;

  i:表示删除开始位置的索引;

  n:删除的个数;

  ele:可选参数,可传递一些元素,他们将会自动插入到开始位置索引前面;

1 var arrP = ['张飞','刘备','关羽','玛利亚'];
2 var result = arrP.splice(3,1,'孙尚香','鲁班','李元芳');
3 
4 console.log(result);
5 console.log(arrP);
6 
7 
8 [Log] ["玛利亚"] (1) 
9 [Log] ["张飞", "刘备", "关羽", "孙尚香", "鲁班", "李元芳"] (6)

 

3.编写去重函数

 1 function distinct(arr){
 2     //遍历数组中所有元素
 3     for (var i = 0; i < arr.length; i++){
 4         //遍历当前元素后的所有元素用于比较
 5         for (var j = i + 1; j < arr.length; j++){
 6             //如果相等,则证明出现重复元素,则删除索引j对应的元素
 7             if (arr[i] === arr[j]){
 8                 arr.splice(j,1);
 9                 //删除索引j所对应的元素后,后方的元素向前填充,使得索引j+1对应的元素索引变为j
10                 //通过j--将重新比较一次当前位置的元素,防止出现紧挨着的相同元素被忽略
11                 j--;
12             }
13         }
14     }
15     return arr;
16 }
17 
18 var arr1 = [1,2,2,5,'e',4,4,'m',8,5,'m',6,0,"a","e",5];
19 var arr2 = distinct(arr1);
20 
21 
22 console.log(arr2);
23 
24 
25 
26 [Log] [1, 2, 5, "e", 4, "m", 8, 6, 0, "a"] (10)

 

脚本宝典总结

以上是脚本宝典为你收集整理的JavaScript 数组去重全部内容,希望文章能够帮你解决JavaScript 数组去重所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: