javascript数组去除重复值 array_unique

2012-05-07 18:55  1236人阅读  评论 (0)

今天用到了这个,但是javascript没有这样的函数,去网上找,都好长好长,然后我就自己动手写了一个,性能应该是杠杠的,看代码就知道了.

function array_unique(a){
    var t = {}, a2 = [];
    //a.forEach(function(v){t[v] = '';}); // 如果你用的是nodejs,比如我就是,可以用这一行,注释下一行
    for(var v in a){t[v] = '';}
    for(var v in t){a2.push(v);}
    return a2;
}

测试结果:

arr1 = [1,2,4,5,7,9,0,6,3,5,8,4,2,4,6,8,9,5,3,2,3,5,6,8,9,4,2,5,6,8,4,2,3,5,8,9,9,0,9,5,3,2,2];
arr2 = array_unique(arr1);
// ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]


类型变了...,还好javascript是弱类型.

如果你用的是mongodb,比如我就是,可以使用这段代码转换类型

arr3 = arr2.map(function(v){return parseInt(v);});