1. ホーム
  2. javascript

[解決済み] Javascriptの配列に、指定された値に等しい属性を持つオブジェクトが含まれているかどうかを判断するにはどうすればよいですか?

2022-03-21 13:53:08

質問

のような配列があります。

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

この配列に "Magenic" が存在するかどうかを確認するにはどうしたらよいでしょうか。必要でない限り、ループさせたくはありません。私は潜在的に数千のレコードで作業しています。

どのように解決するのですか?

2018年版編集 : この回答は2011年のもので、ブラウザが配列のフィルタリングメソッドや矢印関数を広くサポートするようになる前のものです。以下のサイトをご覧ください。 CAFxXの回答 .

ループを使わずに配列の中の何かをチェックする魔法のような方法はありません。たとえ何らかの関数を使用したとしても、その関数自体がループを使用することになります。しかし、探しているものが見つかったらすぐにループから抜け出し、計算時間を短縮することができます。

var found = false;
for(var i = 0; i < vendors.length; i++) {
    if (vendors[i].Name == 'Magenic') {
        found = true;
        break;
    }
}