ホームページ > ウェブフロントエンド > jsチュートリアル > JS 配列から重複を削除する最速のアルゴリズム

JS 配列から重複を削除する最速のアルゴリズム

php中世界最好的语言
リリース: 2018-04-14 16:14:38
オリジナル
3497 人が閲覧しました

今回は、JS配列を重複排除するための最速のアルゴリズムと、JS配列を重複排除するための注意事項を紹介します。実際のケースを見てみましょう。

JS では、配列 から重複データを削除する必要があることがよくあります。ここでは、JS 配列の重複を排除する機能を実現する 4 つのアルゴリズムを紹介します。

1. 最速のアルゴリズム: オブジェクトキーと値のペアメソッド

実装アイデア:

新しい js オブジェクトと新しい配列を作成します。受信した配列を走査するときに、値が js オブジェクトのキーであるかどうかを判断し、そうでない場合は、 キーをオブジェクトに追加し、それを新しい配列に置きます。 。 りー 実行結果:

JS 配列から重複を削除する最速のアルゴリズム

2. 最も独創的なアルゴリズム: 最適化

配列の走査メソッド 実装アイデア:

重複することなく右端の値を取得し、それを新しい配列に入れます。 (重複値が検出された場合、現在のループを終了し、次の先頭ループの判定に移ります)

//注意点: 判断 是否为js对象键时,会自动对传入的键执行“toString()”,不同的键可能会被误认为一样;例如: a[1]、a["1"] 。解决上述问题还是得调用“indexOf”。
//速度最快, 占空间最多(空间换时间)
function unique(array){
  var n = {}, r = [], len = array.length, val, type;
  for (var i = 0; i <strong>
実行結果: </strong>
<p style="text-align: left;"></p><p style="text-align: left;">
<img src="http://img./attachment/art/151545/1049c0807f.jpg?2017101711520" alt="JS 配列から重複を削除する最速のアルゴリズム"></p>3. アルゴリズム: ソートされた隣接除去メソッド<p   style="max-width:90%"><span style="font-size:medium;"><strong></strong>
</span>実装アイデア: </p>受信<p style="text-align: left;">配列<strong>をソートします。ソート後、同じ値が隣接し、トラバースするときに、新しい配列は前の値と重複しない値のみを追加します。 </strong>りー<a href="http://www.php.cn/code/54.html" target="_blank">
実行結果: </a></p>
<p style="text-align: left;"></p><p style="text-align: left;">
<img src="http://img./attachment/art/151545/d37e2cf87e.jpg?2017101711734" alt="JS 配列から重複を削除する最速のアルゴリズム"></p>4. アルゴリズム:配列添字判定法<p   style="max-width:90%"><span style="font-size:medium;"><strong></strong>
</span>実装アイデア: </p> 現在の配列内の i 番目の項目の最初の出現が現在の配列内の i ではない場合、それは i 番目の項目が重複していることを意味し、無視されます。それ以外の場合は、結果の配列を保存します<p style="text-align: left;"></p><pre class="brush:php;toolbar:false">function unique1(array){
  var r = [];
  for(var i = 0, l = array.length; i<l var console.log><strong> この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、PHP 中国語 Web サイトの他の関連記事に注目してください。 </strong>推奨読書: <p></p>
<p>配列内の重複項目を削除する JS メソッド</p>
<p><a href="http://www.php.cn/js-tutorial-392720.html" target="_blank"></a><br>ブートストラップのレスポンシブ ナビゲーション バー テンプレートの使用方法</p>
<p><a href="http://www.php.cn/js-tutorial-392713.html" target="_blank"></a><br>vue.js メソッドで配列データを操作する</p>
<p><a href="http://www.php.cn/js-tutorial-392700.html" target="_blank"></a>
<br></p></l>
ログイン後にコピー

以上がJS 配列から重複を削除する最速のアルゴリズムの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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