ホームページ  >  記事  >  ウェブフロントエンド  >  アレイの重複排除にはどのような方法がありますか?

アレイの重複排除にはどのような方法がありますか?

零下一度
零下一度オリジナル
2017-06-26 10:27:261176ブラウズ

今日はjs配列重複排除について簡単に書きます ここでは3つの方法をまとめました。

最初のメソッド:

まず一時配列を定義し、現在の配列の i 番目の要素が一時配列に保存されている場合は、この要素をスキップします。 element 項目は一時配列に追加されます。

具体的なコードは次のとおりです:

var arr = [23,23,1,1,1235,123,123,1235,45,345,457,45245,234,2341,23];
Array.prototype.unique1 = function (){
var n = [];// 新しい一時配列を定義します
for(var i = 0; i
// i 番目の場合現在の配列の要素は一時配列に保存されているためスキップします
// それ以外の場合は、現在の項目を一時配列にプッシュします
if(n.indexOf(this[i])==-1){
n.push(this[i] );
}
}
return n;
}

2 番目のメソッド:

まず、現在の配列の i 番目の項目の場合、結果を格納する新しい配列を構築します。配列が現在の配列に初めて出現します。位置が i でない場合は、i 番目の項目が繰り返され、フィルターで除外されることを意味します。そうでない場合は、結果の配列に格納されます。

具体的なコードは次のとおりです:

Array.prototype.unique2 = function(){
var n = [this[0]];//結果の配列
for (var i = 1; i< this.length ;i++) {
//現在の配列内の i 番目の項目の最初の出現が i ではない場合、
//i 番目の項目が重複であることを意味します。重複している場合はフィルターで除外されます。結果の配列に格納されます
if( this.indexOf(this[i])==i){
n.push(this[i]);
}
}
return n;
}

3番目のメソッド:

一時的な最初のテーブル、つまり一時的な配列を作成します。一時テーブルに現在の項目がない場合、その項目は一時テーブルに保存され、現在の配列の現在の項目が一時配列に追加されます。

具体的なコードは次のとおりです:

Array.prototype.unique3=function(){
var n = {},r=[];//nは一時テーブル、rは一時配列です
/ /現在の配列を走査します
for (var i = 0; i if (!n[this[i]]) {//一時テーブルに現在の項目がない場合
n [this[i]]=true; //一時テーブルに保存
r.push(this[i]);//現在の配列の現在の項目を一時配列にプッシュします

}
}
return r;
}

以上がアレイの重複排除にはどのような方法がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。