配列とjQueryリストをループして一致するものを見つけるコードを最適化する

シルバーバーチ

配列内の各値をループし、各値について、jQueryの値のリストをループして完全に一致するものを見つけます。一致するものが見つかったら、そのli要素を明らかにします。配列内のすべてが常にリストに存在します。これはすべて問題なく動作します。ただし、実際には、配列とjQueryリストの両方に7,000以上のアイテムがあり、ループが繰り返されるため、私のアプローチはすでに遅くなっています。私はおそらく地図を使って物事をスピードアップする方法を見つけようとしてきましたが、知識が限られているため、頭を悩ませることができません。誰か助けてもらえますか?https://jsfiddle.net/bt9xncea/

<ul>
  <li>Paris</li>
  <li>London</li>
  <li>Puntarenas</li>
  <li>Lisbon</li>
  <li>Balochistan</li>
  <li>Bonn</li>
  <li>Helsinki</li>
  <li>Moscow</li>
  <li>San Jose</li>
  <li>Paris</li>
  <li>Madrid</li>
  <li>Rome</li>
</ul>




var CityList = ["San Jose", "Alajuela", "Caldera", "Puntarenas", "Sisak-Moslavina", "Dalmatia", "", "Thatta", "Sindh", "Punjab", "Islamabad", "Balochistan", "Karachi"];

$("ul li").hide()

var elementText = "";
$.each(CityList, function(index, City) {

  $('ul li').each(function(dropindex) {
    elementText = $("ul li:eq(" + dropindex + ")").text()

    if (elementText === City) {
      $("ul li:eq(" + dropindex + ")").show();
      return false;
    }
  });

});
キューネ

簡略化できることがいくつかあります。liオブジェクトをループしている間は$(this)、現在のli要素に到達するために使用できます他のセレクターを使用する必要はありません。

使用するセレクターと関数呼び出しがはるかに少ないため、これによりパフォーマンスが向上すると思います。

また、cityListループの方が安いので$('ul li').each$.each(CityListループループの外側に配置します

$("ul li").hide().each(function(dropindex) {
    var $cur = $(this);
    var elementText = $(this).text();

    $.each(CityList, function(index, City) {
      if (elementText === City) {
        $cur.show();
      }
    });
});

https://jsfiddle.net/a5fm4tcx/

ただし、hide()7000要素を実行するだけでも少し時間がかかります。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

配列をループして、配列内の値と一致するものを見つける方法

分類Dev

2つのリストをループし、pandaspythonを使用して一致する要素を見つけます

分類Dev

タプルのリストで、特定のフィールドが設定されている場合に一致するものを見つけます

分類Dev

シートのセル内の値に一致するGoogleスプレッドシートを見つけて、コードを実行します

分類Dev

MYSQLテーブル列で最も一致する値を見つける

分類Dev

ある配列の値をキーとして使用して、別の配列から一致するものを見つけます

分類Dev

ループを使用してリスト間で一致する単語を見つける

分類Dev

ループを使用してリスト間で一致する単語を見つける

分類Dev

json配列をループして、より大きなjson filleの各アイテムに一致するものを見つける方法は?

分類Dev

配列をループして一致を見つけ、考えられるすべてのソリューションを返します

分類Dev

codeigniterphpを使用して検索機能に最も一致するキーワードを見つける方法

分類Dev

配列フィールドの最後の要素とMongooseの特定のクエリ値に一致するすべてのドキュメントをどのように見つけることができますか?

分類Dev

列をループして一致を見つける - VBA

分類Dev

特定の正規表現に一致するノードを見つけるための再帰的アルゴリズムの最適化

分類Dev

2つのファイルを比較して一致するレコードを見つけるSpringBatch

分類Dev

文字列(記号付き)を比較して最も近い整数の一致を見つけるルビー

分類Dev

最適な配列の一致を見つける方法

分類Dev

ループが一致するユーザー名とパスワードを見つけたときにループをリセットする方法は?

分類Dev

空手:複雑なJSONをトラバースして、一致するものを見つけます

分類Dev

配列phpで最初と最後に一致するシーケンスを見つける

分類Dev

ディレクトリをループして一致するファイルを見つける

分類Dev

リストから最も近い文字列の一致を見つける

分類Dev

C ++を使用して2つのソートされた配列で一致する値のインデックスを見つける最も効率的な方法

分類Dev

文字列配列のリストを検索して、一致する要素内の値を見つけ、同じ配列内の別の要素を返します

分類Dev

リストを反復処理して、thymeleafで一致するものを見つける方法は?

分類Dev

小さい配列が大きい配列と最も一致する場所を見つける

分類Dev

for eachループが一致するものを見つけられない場合にのみコードを実行しますか?

分類Dev

一致するものを見つけて、perlの後に行をコピーします

分類Dev

多数のレコードをクエリして、1つのフィールドが異なるが、他の2つのフィールドが一致するパターンを見つける(逆にした場合でも)

Related 関連記事

  1. 1

    配列をループして、配列内の値と一致するものを見つける方法

  2. 2

    2つのリストをループし、pandaspythonを使用して一致する要素を見つけます

  3. 3

    タプルのリストで、特定のフィールドが設定されている場合に一致するものを見つけます

  4. 4

    シートのセル内の値に一致するGoogleスプレッドシートを見つけて、コードを実行します

  5. 5

    MYSQLテーブル列で最も一致する値を見つける

  6. 6

    ある配列の値をキーとして使用して、別の配列から一致するものを見つけます

  7. 7

    ループを使用してリスト間で一致する単語を見つける

  8. 8

    ループを使用してリスト間で一致する単語を見つける

  9. 9

    json配列をループして、より大きなjson filleの各アイテムに一致するものを見つける方法は?

  10. 10

    配列をループして一致を見つけ、考えられるすべてのソリューションを返します

  11. 11

    codeigniterphpを使用して検索機能に最も一致するキーワードを見つける方法

  12. 12

    配列フィールドの最後の要素とMongooseの特定のクエリ値に一致するすべてのドキュメントをどのように見つけることができますか?

  13. 13

    列をループして一致を見つける - VBA

  14. 14

    特定の正規表現に一致するノードを見つけるための再帰的アルゴリズムの最適化

  15. 15

    2つのファイルを比較して一致するレコードを見つけるSpringBatch

  16. 16

    文字列(記号付き)を比較して最も近い整数の一致を見つけるルビー

  17. 17

    最適な配列の一致を見つける方法

  18. 18

    ループが一致するユーザー名とパスワードを見つけたときにループをリセットする方法は?

  19. 19

    空手:複雑なJSONをトラバースして、一致するものを見つけます

  20. 20

    配列phpで最初と最後に一致するシーケンスを見つける

  21. 21

    ディレクトリをループして一致するファイルを見つける

  22. 22

    リストから最も近い文字列の一致を見つける

  23. 23

    C ++を使用して2つのソートされた配列で一致する値のインデックスを見つける最も効率的な方法

  24. 24

    文字列配列のリストを検索して、一致する要素内の値を見つけ、同じ配列内の別の要素を返します

  25. 25

    リストを反復処理して、thymeleafで一致するものを見つける方法は?

  26. 26

    小さい配列が大きい配列と最も一致する場所を見つける

  27. 27

    for eachループが一致するものを見つけられない場合にのみコードを実行しますか?

  28. 28

    一致するものを見つけて、perlの後に行をコピーします

  29. 29

    多数のレコードをクエリして、1つのフィールドが異なるが、他の2つのフィールドが一致するパターンを見つける(逆にした場合でも)

ホットタグ

アーカイブ