zoukankan      html  css  js  c++  java
  • 利用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));
  • 相关阅读:
    Spring-AOP切面编程(3)
    【SpringBoot】SpingBoot整合AOP
    反射--Reflection
    泛型--Generic
    C#系统库的源代码
    C#中的?
    C#语法糖
    C#初识LINQ
    C#委托和事件的区别
    C#中的lambda表达式
  • 原文地址:https://www.cnblogs.com/Lin-Yi/p/7426936.html
Copyright © 2011-2022 走看看