ホームページ >ウェブフロントエンド >jsチュートリアル >属性値に基づいて JavaScript 配列内のオブジェクトを効率的に検索するにはどうすればよいですか?

属性値に基づいて JavaScript 配列内のオブジェクトを効率的に検索するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-10 08:44:17515ブラウズ

How Can I Efficiently Find Objects in a JavaScript Array Based on Attribute Value?

属性値に基づいて配列内のオブジェクトを見つける

次のような配列を考えてみましょう。

vendors = [{
    Name: 'Magenic',
    ID: 'ABC'
  },
  {
    Name: 'Microsoft',
    ID: 'DEF'
  }, // and so on...
];

どうすれば効率的に実行できますかこの配列に「Magenic」が存在するかどうかを確認しますか?明示的なループに頼らずにこれを実現する方法は次のとおりです。これは、大規模なデータ セットを扱う場合に特に便利です。

some メソッドを使用して単一の一致する要素を検索します。

if (vendors.some(e => e.Name === 'Magenic')) {
  // A matching object is found!
}

find を使用してオブジェクトを一致させる:

if (vendors.find(e => e.Name === 'Magenic')) {
  // Returns the object itself, not just a boolean.
}

最初に一致する要素のインデックスを次のように検索します。 findIndex:

const i = vendors.findIndex(e => e.Name === 'Magenic');
if (i > -1) {
  // Indicates a matching object found at index i.
}

複数の一致するオブジェクトが必要な場合は、フィルターを使用します:

if (vendors.filter(e => e.Name === 'Magenic').length > 0) {
  // Returns all objects that satisfy the condition.
}

アロー関数をサポートしていないブラウザの場合:

if (vendors.filter(function(e) { return e.Name === 'Magenic'; }).length > 0) {
  // Same as above, using traditional function syntax.
}

以上が属性値に基づいて JavaScript 配列内のオブジェクトを効率的に検索するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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