ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript で ID によって単一のオブジェクトを取得するには、配列とオブジェクトのどちらが効率的ですか?

JavaScript で ID によって単一のオブジェクトを取得するには、配列とオブジェクトのどちらが効率的ですか?

Susan Sarandon
リリース: 2024-10-27 15:45:29
オリジナル
782 人が閲覧しました

Which is more efficient for retrieving single objects by ID in JavaScript: arrays or objects?

JavaScript における配列とオブジェクトの効率

はじめに

JavaScript では、開発者はよく配列またはオブジェクトのデータ。各アプローチには、特に効率性と ID による特定のオブジェクトの取得の必要性を考慮した場合に、明確な利点と欠点があります。この記事では、単一オブジェクトの取得と大規模なデータセットの並べ替えを伴うシナリオを考慮して、これらの選択によるパフォーマンスへの影響を検証します。

単一オブジェクト取得の配列とオブジェクト

配列アプローチ:

配列は通常、数値的にインデックス付けされ、インデックス位置に基づいて要素に効率的にアクセスできます。たとえば、次の構造を持つ配列:

[
  { id: 29938, name: 'name1' },
  { id: 32994, name: 'name2' }
]
ログイン後にコピー

ID による特定のオブジェクトの取得には、目的のオブジェクトが見つかるまで配列を反復処理する必要があります:

function getObject(id) {
  for (var i = 0; i < a.length; i++) {
    if (a[i].id == id) {
      return a[i];
    }
  }
}
ログイン後にコピー

オブジェクトのアプローチ:

一方、オブジェクトはデータ ストレージ用のキーと値のペアを提供します。キーには、数値を含む任意のデータ型を使用できます。これにより、ID をキーとして使用して特定のオブジェクトを効率的に取得できます:

var a = {};
a[29938] = { id: 29938, name: 'name1' };
a[32994] = { id: 32994, name: 'name2' };

function getObject(id) {
  return a[id];
}
ログイン後にコピー

パフォーマンスの比較:

ベンチマーク テストでは、オブジェクトが単一の配列よりも優れていることが一貫して示されています。オブジェクトの取得。これは、オブジェクトがキーを使用して値に直接アクセスできるため、配列を反復する必要がなくなるためです。

並べ替えに関する考慮事項

配列アプローチ:

配列を並べ替えるには、特定のキーに基づいて要素を比較および並べ替えるアルゴリズムが必要です。これは、特に大規模な配列の場合、計算集約的なプロセスになる可能性があります。

オブジェクトのアプローチ:

オブジェクトには固有の並べ替え機能がありませんが、配列に変換して、 .sort() などの JavaScript メソッドを使用して並べ替えます。ただし、この変換では追加のパフォーマンス オーバーヘッドが発生します。

結論

結論として、オブジェクトは一般に、配列と比較して、ID に基づいて単一オブジェクトを取得する効率が優れています。オブジェクトの取得が頻繁に行われるが、並べ替え操作がまれであるシナリオでは、オブジェクトが推奨される選択肢です。ただし、ソートが頻繁に必要となる場合は、オブジェクトを配列に変換することによるパフォーマンスへの影響を慎重に考慮する必要があります。

以上がJavaScript で ID によって単一のオブジェクトを取得するには、配列とオブジェクトのどちらが効率的ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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