日期:2014-05-16 浏览次数:20446 次
<script>
/**
* 利用JavaScript内置的hash去重数组中的重复元素
* @author kanpiaoxue
* date 2011/08/29 13:29:01
*/
function uniqueArray(arr){
if(null == arr || arr.length == 0 ){
return arr;
}else{
var innerHashMap = {};
for(var i = 0, j = arr.length; i<j; i++){
innerHashMap[arr[i]] = null;
}
var rs = [];
for (obj in innerHashMap){
rs.push(obj);
}
return rs;
}
}
/*------------------------ test ---------------------------*/
var arr = [1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0];
var arr1 = [];
for(var i = 0 ; i < 10; i++){
arr1[i] = 'element' + (i%2);
}
//alert('source: ' + arr + '\n' + 'target: ' + uniqueArray(arr) + '\n' + 'source: ' + arr1 + '\n' + 'target: ' + uniqueArray(arr1))
var longArr = []
for(var i = 0; i < 100000; i++){
longArr[i] = i;
}
var start = (new Date()).getTime();
uniqueArray(longArr);
var end = (new Date()).getTime();
alert((end - start) + 'ms');
</script>
?