Wann sollte ein Objekt oder ein Array in Javascript verwendet werden? [Duplikat]

7

Ich habe gerade herausgefunden, dass Arrays direkt von Object in Javascript erben. Ich finde den Unterschied zwischen einem Array und einem Objekt ist ziemlich winzig.

Woher weiß ich, wann ich den anderen benutzen soll?

    
Derek Adair 14.12.2010, 15:59
quelle

7 Antworten

9

Wenn Sie auf die Reihenfolge der Elemente in der Sammlung angewiesen sind, verwenden Sie Arrays, wenn die Reihenfolge nicht wichtig ist, verwenden Sie Objekte. Die Reihenfolge ist in Objekten nicht garantiert, aber sie ermöglichen schnelle Schlüssel-Wert-Paar-Lookups.

    
Alex 14.12.2010 16:04
quelle
7

Ich würde ein Array [] verwenden, wenn es sich um eine Liste von Objekten des gleichen Typs handelt * (wie eine Liste von Strings), die ich in der Reihenfolge von und Object {} haben möchte, wenn ich mit etwas zu tun habe dass ich Eigenschaften von (und die Eigenschaften sind von verschiedenen Typen, in der Regel) wollen.

Zum Beispiel:

%Vor%

* Das ist nur meine Vorliebe. Arrays können Elemente verschiedener Typen enthalten.

    
Jonathon Bolster 14.12.2010 16:06
quelle
5

Sie sind nur verschiedene Datenstrukturen , die unterschiedlichen Zwecken dienen. Array erweitert Object und bietet Eigenschaften wie length und Methoden wie push() und pop() .

Stellen Sie sich ein Objekt als Hash-Tabelle und ein Array als Liste vor.

z. Sie können Arrays als Warteschlange oder als Stack verwenden, was mit Objekten nicht möglich wäre.

Wenn Sie auf der anderen Seite Daten speichern möchten und direkt auf ein bestimmtes Datum zugreifen möchten, verwenden Sie ein Objekt.

Letztendlich läuft es auf die Frage hinaus, welche Datenstruktur für den Job die richtige ist . Vielleicht ist keiner von beiden und Sie würden stattdessen einen Baum benötigen (der über Objekte implementiert werden kann).

    
Felix Kling 14.12.2010 16:07
quelle
3

Objects sind ein guter Kandidat, wenn Sie einen eindeutigen Schlüssel haben.

Beispiel Array vs. Object :

%Vor%

Wie Sie sehen, ist das Finden eines Objekts mit einem array (Schleife) viel teurer. Mit object haben Sie keinen Zugriff auf alle Hilfsmethoden array (sort / push / etc), aber Sie können die Eigenschaften eines Objekts immer noch mit einer for...in Schleife durchlaufen.

    
Josiah Ruddell 14.12.2010 16:08
quelle
2

Verwenden Sie ein Array, wenn Sie eine Sammlung von Objekten eines Typs speichern möchten, die logisch zusammengehören.

Gibt es etwas Bestimmtes, worüber du dich wunderst?

Arrays sind nützlich, wenn Sie alle verwandten Elemente (Schleifen) bearbeiten, auf Objekte per Index zugreifen und sortieren möchten.

    
Oded 14.12.2010 16:01
quelle
2

Objektschlüssel sind Strings; Array-Schlüssel sind Ganzzahlen. JavaScript-Objekte sind Maps ( String -> anything ) und Arrays sind Listen (geordnete Sammlungen von anything ).

Hilft das?

    
Matt Ball 14.12.2010 16:09
quelle
0

Sie verwenden Arrays häufig, wenn Sie eine Reihe von verwandten Elementen haben, die Sie ordnen und indizieren möchten.

    
BoltClock 14.12.2010 16:02
quelle