JavaScript における配列とオブジェクト: 長い数値 ID を持つ単一オブジェクトを取得するにはどちらが速いですか?

Mary-Kate Olsen
リリース: 2024-10-27 11:43:30
オリジナル
954 人が閲覧しました

  Arrays vs. Objects in JavaScript: Which is Faster for Retrieving a Single Object with a Long Numerical ID?

JavaScript における配列とオブジェクトの効率: 長い数値 ID を持つ単一オブジェクトの取得

問題ステートメント:

多数のオブジェクトを効率的に保存し、一意の長い数値 ID でそれらを取得する必要がある場合、最適なデータ構造、配列またはオブジェクトを決定することが重要です。

配列オプション:

<code class="javascript">var a = [{id: 29938, name: 'name1'},
         {id: 32994, name: 'name1'}];</code>
ログイン後にコピー

配列内のオブジェクトを見つけるには、線形検索が必要です:

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

オブジェクト オプション:

<code class="javascript">var a = {};
a[29938] = {id: 29938, name: 'name1'};
a[32994] = {id: 32994, name: 'name1'};</code>
ログイン後にコピー

オブジェクトの場合、キーとして使用される ID に基づいて直接検索が行われます:

<code class="javascript">function getObject(id) {
    return a[id];
}</code>
ログイン後にコピー

分析:

一般に、配列はオブジェクトよりわずかに高速です。特に大きな配列の場合、個々の要素を取得します。これは、オブジェクトにはキーと値のペアがあり、配列の単純なインデックス付けと比較して追加の検索オーバーヘッドが必要になるためです。

パフォーマンス テスト結果 (2017):

A パフォーマンス2017 年に実施されたテストでは、単一のオブジェクトを取得する場合、配列は穴あき配列とオブジェクトの両方よりも著しく高速であることが明らかになりました。

並べ替え:

並べ替えのパフォーマンスは、次の要素に依存します。使用される並べ替えアルゴリズムと要素の数。 Array.sort() などの組み込みメソッドを使用すると、配列はオブジェクトよりも効率的に並べ替えることができますが、小さいデータセットの場合、その違いは重要ではない可能性があります。

結論:

主な操作が ID に基づいて単一のオブジェクトを取得することである場合、特に多数のオブジェクトの場合は、一般に配列の方がオブジェクトよりも効率的です。ただし、並べ替えが頻繁に必要な場合は、データ構造の選択にさらなるテストと検討が必要になる場合があります。

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!