您的位置:首页 > Web前端 > JavaScript

js数组去掉重复的元素

2010-06-03 20:04 281 查看
<script>
Array.prototype.uniq = function() {
var temp = {}, len = this.length;

for(var i=0; i < len; i++) {
if(typeof temp[this[i]] == "undefined") {
temp[this[i]] = 1;
}
}
this.length = 0;
len = 0;
for(var i in temp) {
this[len++] = i;
}
return this;
}

var a = ["sss","aaa","sss",4,2,3,1,1,"sss","aaa","sss",4,2,3,1,1
,"sss","aaa","sss",4,2,3,1,1,"sss","aaa","sss",4,2,3,1,1
,"sss","aaa","sss",4,2,3,1,1,"sss","aaa","sss",4,2,3,1,1
,"sss","aaa","sss",4,2,3,1,1,"sss","aaa","sss",4,2,3,1,1];
var b = [2,3,5,7];
//--------------------------时间测试开始-------------------------
start = new Date().getTime();
var c = a.concat(a).concat(b).concat(a).concat(b).concat(a)
.concat(b).concat(a).concat(b).concat(a).concat(b)
.concat(a).concat(b).concat(b).concat(a).concat(b).uniq();

document.write(c + " 长度 " + c.length);
end = new Date().getTime();

document.write(" 耗时:" + (end - start) + "ms")
//--------------------------时间测试结束--------------------------
//IE结果:sss,aaa,4,2,3,1,5,7 长度 8 耗时:15ms
//FF结果:sss,aaa,4,2,3,1,5,7 长度 8 耗时:2ms
</script>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: