array-remove-repeate .tt{ 背景色:#006699;高さ:3ピクセル; overflow:hidden;}
if(!console)
{
var console={};
console.log=function(str){alert(str);}
}
Array.prototype.unique1 = function () {
var r = new Array();
label:for(var i = 0, n = this.length; i
for(var x = 0, y = r.length; x if(r[x] == this[i]) {
ラベルを継続します。
}
}
r[r.length] = this[i];
}
r を返します。
}
Array.prototype.unique2 = function () {
return this.sort().join(",,").replace(/(,|^)([^, ] )(,,2) (,|$)/g,"$1$2$4").replace(/,, /g,",").replace(/,$/,"").split(", ");
}
Array.prototype.unique3 = function() {
var temp = {}, len = this.length;
for(var i=0; i var tmp = this[i];
if(!temp.hasOwnProperty(tmp)) {
temp[this[i]] = "私の神様";
}
}
len = 0;
var tempArr=[];
for(var i in temp) {
tempArr[len ] = i;
}
tempArr を返します。
}
Array.prototype.unique4 = function () {
var temp = new Array();
this.sort();
for(i = 0; i if( this[i] == this[i 1]) {
続行;
}
temp[temp.length]=this[i];
}
温度を返します。
}
var test=(function()
{
var arr2=[];
for(var i=0;i{
var t=i;
t=parseInt(Math.random()*2000) 1;
arr2[i]=(t.toString());
}
//arr2=["zhoujian","zhou","zhou"];
return function(){
return
//return [1] ,2,3,3];
};
window.onload=function(){
//
Watch.start("コスト時間1:");
var arr= test();
console.log(arr.length );
arr=arr.unique1();
console.log(arr.length);
Watch.stop();
//
Watch.start("コスト時間2:");
arr= テスト();
console.log(arr.length);
arr=arr.unique2();
console.log(arr.length);
Watch.stop();
//
Watch.start("コスト時間3:");
arr= テスト();
console.log(arr.length );
arr=arr.unique3();//数组很大時,最快
console.log(arr.length );
Watch.stop();
//
Watch.start("コスト時間4:");
arr= テスト();
console.log(arr.length);
arr=arr.unique4();
console.log(arr.length);
Watch.stop();
Watch.report();
}