利用JavaScript去掉数组中重复项

Posted 稀里糊涂林老冷

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了利用JavaScript去掉数组中重复项相关的知识,希望对你有一定的参考价值。

利用javascript的object的特性,我们可以非常容易的实现将一个数组的重复项去掉。

object的特性是:key一定是唯一的。

 

把数组重复项去掉:

  1 将数组转换成一个object对象,数组的值作为object对象的 key

    因为key是唯一的,碰到重复的数组值的时候,object不会添加key

  2 将object对象转换成数组,key为数组的值。

    在之前的重复数组,每一个值实际上对应object只有一个key,这样在还原到数组的时候,重复值就去掉了

 1 /*用object的特性去掉数组的重复项:
 2                 1 把数组转化成oject对象,用数组的值当作obj的key
 3                 2 把object再转换成数组
 4             */
 5             
 6             // 传入数组 返回object对象
 7             var toObj = function( arr ){
 8                 obj = {};
 9                 for(var temp in arr){
10                     //对arr的每一个值添加到obj的key,value都是true
11                     obj[arr[temp]] = true;
12                 }
13                 return obj;
14             };
15             // 传入obj对象 返回arr数组
16             var toArr = function( obj ){
17                 var arr = [];
18                 for(var temp in obj){
19                     //把所有的key push到数组当中
20                     arr.push(temp);
21                 }
22                 return arr;
23             };
24             //把两个方法联合起来
25             var getUniq = function(arr){
26                 return toArr( toObj(arr) );
27             };
28             
29             
30             var arr = [1,1,2,2,3,3,4,4,5,5,5,6,6,6,6,6,6,5,4,3,54,8,11];
31             
32             alert(getUniq(arr));

 

以上是关于利用JavaScript去掉数组中重复项的主要内容,如果未能解决你的问题,请参考以下文章

javascript中如何去掉数组中的重复项

关于如何去除数组中重复项

javscript巧用对象特性去掉数组重复项并排序

JavaScript 代码片段

JS去除数组中重复的数字

怎么去掉javascript 的Array的重复项