Heim >Web-Frontend >js-Tutorial >Arrays vs. Objekte in JavaScript: Was ist schneller zum Abrufen eines einzelnen Objekts mit einer langen numerischen ID?

Arrays vs. Objekte in JavaScript: Was ist schneller zum Abrufen eines einzelnen Objekts mit einer langen numerischen ID?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-27 11:43:301059Durchsuche

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

Array- vs. Objekteffizienz in JavaScript: Abrufen eines einzelnen Objekts mit einer langen numerischen ID

Problemstellung:

Wenn Sie eine große Anzahl von Objekten effizient speichern und diese über eine eindeutige, lange numerische ID abrufen müssen, ist es entscheidend, die beste Datenstruktur zu bestimmen: ein Array oder ein Objekt.

Array-Option:

<code class="javascript">var a = [{id: 29938, name: 'name1'},
         {id: 32994, name: 'name1'}];</code>

Um ein Objekt in einem Array zu finden, ist eine lineare Suche erforderlich:

<code class="javascript">function getObject(id) {
    for (var i=0; i < a.length; i++) {
        if (a[i].id == id)
            return a[i];
    }
}</code>

Objektoption:

<code class="javascript">var a = {};
a[29938] = {id: 29938, name: 'name1'};
a[32994] = {id: 32994, name: 'name1'};</code>

Bei einem Objekt erfolgt der Abruf direkt basierend auf der als Schlüssel verwendeten ID:

<code class="javascript">function getObject(id) {
    return a[id];
}</code>

Analyse:

Im Allgemeinen sind Arrays etwas schneller als Objekte für Abrufen einzelner Elemente, insbesondere bei großen Arrays. Dies liegt daran, dass Objekte über Schlüssel-Wert-Paare verfügen, die im Vergleich zur einfachen Indizierung von Arrays einen zusätzlichen Suchaufwand erfordern.

Ergebnisse des Leistungstests (2017):

Eine Leistung Ein im Jahr 2017 durchgeführter Test ergab, dass ein Array beim Abrufen eines einzelnen Objekts deutlich schneller ist als sowohl ein Holey-Array als auch ein Objekt.

Sortierung:

Die Sortierleistung hängt von ab der verwendete Sortieralgorithmus und die Anzahl der Elemente. Während Arrays mit integrierten Methoden wie Array.sort() effizienter sortiert werden können als Objekte, ist der Unterschied bei kleineren Datensätzen möglicherweise nicht signifikant.

Fazit:

Wenn die primäre Operation darin besteht, ein einzelnes Objekt anhand seiner ID abzurufen, ist ein Array im Allgemeinen effizienter als ein Objekt, insbesondere bei einer großen Anzahl von Objekten. Wenn das Sortieren jedoch häufig erforderlich ist, kann die Wahl der Datenstruktur weitere Tests und Überlegungen erfordern.

Das obige ist der detaillierte Inhalt vonArrays vs. Objekte in JavaScript: Was ist schneller zum Abrufen eines einzelnen Objekts mit einer langen numerischen ID?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn