js去数组重复数据
代码
function removeRepater(array) {
array = array || [];
var a = {};
for (var i = 0; i < array.length; i++) {
var v = array[i];
if (a[v] == undefined) {
a[v] = 1;
}
}
array.length = 0;
for (var i in a) {
array[array.length] = i;
}
return array;
}
var num = new Array();
function createArray() {
for (var i = 0; i < 1000000; i++) {
num[i] = i;
}
}
//创建测试数据
console.profile("create");
createArray();
console.profileEnd("create");
//去重复
console.profile("cal");
var n = removeRepater(num);
console.profileEnd("cal");
100万条数据所用时间

分析
1.构造一个哈希对象var a = {};如果a[v]为undefined,则说明该数不存在,把这个数字存为a的属性值,如果存在则不存。
2.For in 中的i为数组的元素或对象的属性,因此可以据此获取a对象的属性(也就是不重复的数字)。
3.console.profile("create")和console.profileEnd("create")可以用在火狐中,查看效率。
浙公网安备 33010602011771号