JS除去数组中重复元素

JS去除数组中重复元素
其实JS去除数组中重复元素,方法很简单,一根都是通过2个循环来处理,但是如果数组总元素过多的时候,这样处理的效率很低;下面看一个比较高效的方法:

<script>
function unique(data){
    data = data || [];
    var a = {};
    for (var i=0; i<data.length; i++) {
        var v = data[i];
        if (typeof(a[v]) == 'undefined'){
             a[v] = 1;
         }
    };
    data.length=0;
      for (var i in a){
               data[data.length] = i;
         }
        return data;
}

function test(){
    var arr = [9,1,3,8,7,7,6,6,5,7,8,8,7,4,3,1];
    var arr1 = unique(arr);
    alert(arr1.join(","));
}
test();
</script>

输出结果:
9,1,3,8,7,6,5,4