ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript numeric array_javascript スキルから重複項目を削除するための実装コード

JavaScript numeric array_javascript スキルから重複項目を削除するための実装コード

WBOY
リリース: 2016-05-16 18:12:57
オリジナル
1148 人が閲覧しました
test.htm
复制代码代码如下:





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();

}





Watch.js

复制代码代码如下:

var Watch = {
result: [],
guid: -1,
totalTime: 0,
start: function(title){
this.result[ this.guid] = [タイトル || this.guid、new Date().getTime()];
},
stop: function(){
var r = this.result[this.guid];
var t = new Date().getTime() - r[1];
this.totalTime = t;
r[1] = t;
if(t>=10000){
alert("このコードの実行には時間がかかりすぎるため、最適化する必要があります。");
}
},
report: function(parent){
var div = document.createElement("div");
div.style.fontSize = "12px";
var str = [];
str.push("

合計時間:" this.totalTime " ミリ秒。

");
for (var i = 0, l = this.result.length; i if (this.result[i].length > 1) {
str.push ("

" "" " this.result[i] ][1] "" " " this.result[i][0] "" "");
}else{
str.push(this.result[i][0]);
}
}
div.innerHTML = str.join("");
親 = 親 ||ドキュメント.ボディ;
parent.appendChild(div);
div = null;

this.totalTime = 0;
this.guid = -1;
this.result=[];
},
fns: function(){
var a = 引数;
for (var i = 0, l = a.length; i this.start(a[i][0]);
a[i][1]();
this.stop();
}
},
execByTimes: function(fn, 回, title){
this.start(title);
while (回--) {
fn();
}
this.stop();
},
print: function(str){
this.result[ this.guid]=[str];
}
}

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート