数组去重的几种封装方法

原创 2016年08月31日 16:33:09

1、遍历数组法:

此方法缺点: IE8以下不支持 indexOF
function unique(array){
    var  n = [];
    for(var i =0; i<array.length; i++){
        if(n.indexOf(array[i])==-1){
            n.push(array[i]); 
        } 
    }
    return ;
}

2、对象键值对法;

此方法优点:速度最快, 缺点:占空间最多
function unique(array){
    var n = {};
    var r = [];
    var len = array.length;
    var val;
    var type;
    for(var i=0; i<array.length; i++){
        val = array[i];
        type = typeof val ;
        if(!n[val]){
            n[val] = [type];
            r.push(val);
        } else if(n[val].indexOf(type)<0){
            n[val].push(type);
            r.push(val);
        }
    }
    return r;
}                   

3、数组下标法:

function unique(array){
    var n = [array[0]];
    for(var i=1; i<array.length; i++){
        if(array.indexOf(array[i])==i){
            n.push(array[i]);
        } 
    }
    return n;
}

4、优化遍历数组法

function unique(array){
    var  r = [];
    for(var i=0; i<array.length; i++){
        for(var j=i+1; j<array.length; j++){
            if(array[i]===array[j]){
                j=++i;
            } 
        } 
        r.push(array[i])
    }  
    return r;
}   

5、

function unique(array){
    var arr = [];
    var obj = {};
    for(var i=0; i<arary.length; i++){
        if(!obj[array[i]]){
            obj[array[i]] = array[i];
            arr.push(array[i])
        }
    }
    return arr 
}

数组的几种排序方法

  • 2017年03月24日 00:07
  • 4KB
  • 下载

C#中数组复制的几种方法

  • 2009年06月14日 11:02
  • 27KB
  • 下载

JavaScript数组去重的几种方法

这个老问题,网上普遍都有了,为什么要再写一遍呢,主要是为了记个笔记。。。遍历时搜索结果数组思路很明确,如下 新建一个数组存放结果 循环遍历原数组,对于每一个元素,在结果数组中搜索是否存在 若不存在则存...

javascript 数组去重的几种方法

转载自:http://segmentfault.com/a/1190000003030068 方法一:利用indexOf判断新数组 underscore.js中实际上也是使用的类似的indexOf...

数组去重的几种方法-基础篇

date: 2017/5/14 1:47 自己进度慢,写篇博客都是鳖的。就全当是给自己的一个Tip。 除了这个系列。希望下次可以完成一篇几个js小技巧的博客。(总结下自己常用的。) 此篇TODO 1....

JavaScript数组去重的几种方法效率测试

javaScript数组去重是前端面试酷爱的问题,问题简单而又能看出程序员对计算机程序执行过程的理解如何。数组去重的方法有很多,到底哪种是最理想的我不清楚。于是我测试了下数组去重的效率。测试二十万个数...
  • poptxz
  • poptxz
  • 2016年11月06日 16:29
  • 138

js数组去重的几种常用方法总结

1、第一种是比较常规的方法 思路: (1)构建一个新的数组存放结果 (2)for循环中每次从原数组中取出一个元素,用这个元素循环与结果数组对比 (3)若结果数组中没有该元素,则存到结果数组中A...
  • eff666
  • eff666
  • 2016年09月13日 08:52
  • 229

jquery遍历筛选数组的几种方法和遍历解析json对象

jquery grep()筛选遍历数组  复制代码代码如下: $().ready(  function(){  var array = [1,2,3,4,5,6,7,8,9];  ...

js数组几种常见的操作方法

关于js数组的用法有很多,下面主要针对一些简单的操作,比如合并,反转,添加删除等简单的操作总结一下。 第一:读取数组 for循环 方法如下:  var ay=[1,"sdsd","sdsd"] for...
  • gj1949
  • gj1949
  • 2017年01月06日 15:13
  • 1197

几种检查 数组里是否包含某个值的方法

一下是几种方法 检查 数组里是否hanho
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:数组去重的几种封装方法
举报原因:
原因补充:

(最多只允许输入30个字)