码迷,mamicode.com
首页 > Web开发 > 详细

JS数组去重比较

时间:2014-07-22 08:04:33      阅读:212      评论:0      收藏:0      [点我收藏+]

标签:blog   http   java   os   strong   io   

数组去重复是一个常见的需求,我们暂时考虑同类型的数组去重复。主要是理清思路和考虑执行性能。

for循环删除后面重复的

var uniqueFor = function(arr) {
    for (var i = 0; i < arr.length - 1; i++) {
        var item = arr[i];
        for(var j = i+1; j < arr.length; j++ ) {
            item === arr[j] && (arr.splice(j, 1), j--);
        }
    };
    return arr;
};

判断对象属性

var uniqueObject = function(arr) {
    var v, r = [], o = {};
    for(var i = 0; (v = arr[i]) !== undefined; i++) {
        !o[v] && (r.push(v), o[v] = true);
    }
    return r;
};

数组过滤重复项filter

var uniqueFilter = function(arr) {
    return arr.filter(function(elem, pos, self) {
        // 如果没有重复项,返回true
        return self.indexOf(elem, pos + 1) === -1;
    });
};

比较执行效率

bubuko.com,布布扣图1 chrome浏览器

bubuko.com,布布扣图2 firefox浏览器

bubuko.com,布布扣图3 IE浏览器

参考文献
http://jsperf.com/quchong/5
http://www.nowamagic.net/javascript/js_RemoveRepeatElement.php
http://blog.segmentfault.com/fishenal/1190000000418858

JS数组去重比较,布布扣,bubuko.com

JS数组去重比较

标签:blog   http   java   os   strong   io   

原文地址:http://www.cnblogs.com/mackxu/p/array-unique.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!