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

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

Mary-Kate Olsen
リリース: 2024-12-10 08:44:17
オリジナル
514 人が閲覧しました

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 サイトの他の関連記事を参照してください。

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