JavaScript 配列の値の一致によるオブジェクトの検索
JavaScript オブジェクトの配列に直面した場合、一致するプロパティに基づいて特定のオブジェクトを取得します価値観は難しい場合があります。この記事では、そのようなオブジェクトを簡単に見つけるために利用できる効率的な方法について説明します。
find() メソッド
JavaScript の find() メソッドは、簡単な解決策を提供します。その構文は次のとおりです。
find(predicateFunction)
ここで、predicateFunction は、現在の要素が検索条件を満たしているかどうかを示すブール値を返すコールバックです。 「id」プロパティに一致する値を持つオブジェクトを検索するには、次のコードを使用できます。
myArray.find(x => x.id === '45').foo;
findIndex() メソッド
一致するオブジェクトのインデックスのみに興味がある場合は、findIndex() メソッドが役立ちます。その構文は次のとおりです:
findIndex(predicateFunction)
以下のコードは、「id」プロパティが '45' に設定されたオブジェクトのインデックスを返します。
myArray.findIndex(x => x.id === '45');
フィルター( ) メソッド
一致するすべてのオブジェクトを含む配列を取得するには、filter() メソッドが便利なソリューションを提供します。その構文は次のとおりです。
filter(predicateFunction)
次のコードは、「id」プロパティが '45' に設定されているオブジェクトの配列を返します。
myArray.filter(x => x.id === '45');
The map( ) Method
最後に、特定のプロパティの一致する値のみを含む配列が必要な場合は、 map()メソッドを使用することができます。その構文は次のとおりです:
map(transformFunction)
以下のコードは、「id」プロパティが「45」に設定されているオブジェクトの「foo」プロパティ値の配列を返します:
myArray.filter(x => x.id === '45').map(x => x.foo);
ブラウザの互換性に関する注意
Internet Explorer のようなブラウザは、 find() や filter() などの最新のメソッドをサポートしていない可能性があります。これらのブラウザとの互換性を確保するには、適切なポリフィルを備えた Babel を使用してコードをトランスパイルすることを検討してください。
以上がプロパティ値に基づいて JavaScript オブジェクトを効率的に検索するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。