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?
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.
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).
Objects
sind ein guter Kandidat, wenn Sie einen eindeutigen Schlüssel haben.
Beispiel Array
vs. Object
:
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.
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.
Tags und Links javascript arrays object language-features