82 Stimmen

Objekte vs Arrays in JavaScript für Schlüssel/Wert-Paare

Sagen Sie, Sie haben eine sehr einfache Datenstruktur:

(personId, name)

... und Sie möchten eine Anzahl davon in einer JavaScript-Variablen speichern. Meiner Meinung nach haben Sie drei Möglichkeiten:

// ein einzelnes Objekt
var people = {
    1 : 'Joe',
    3 : 'Sam',
    8 : 'Eve'
};

// oder, ein Array von Objekten
var people = [
    { id: 1, name: 'Joe'},
    { id: 3, name: 'Sam'},
    { id: 8, name: 'Eve'}
];

// oder, eine Kombination aus beidem
var people = {
    1 : { id: 1, name: 'Joe'},
    3 : { id: 3, name: 'Sam'},
    8 : { id: 8, name: 'Eve'}
};

Die zweite oder dritte Option ist offensichtlich der richtige Weg, wenn Sie mehr als einen "Wert" speichern möchten (z.B. das Hinzufügen ihres Alters oder ähnliches) oder erwarten, dass Sie mehr als einen "Wert" speichern könnten. Angenommen, es wird niemals weitere Datenwerte in dieser Struktur geben. Welche wählen Sie und warum?


Bearbeiten: Das Beispiel zeigt nun die häufigste Situation: nicht zusammenhängende IDs.

0voto

Nathaniel Reinhart Punkte 1143

Angesichts Ihrer Einschränkung, dass Sie nur den Namen als Wert haben werden, würde ich die erste Option auswählen. Es ist am saubersten, hat den geringsten Overhead und den schnellsten Lookup.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X