属性値に基づいて配列内のオブジェクトを見つける
次のような配列を考えてみましょう。
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 サイトの他の関連記事を参照してください。