Ich weiß, dass ein Array in JavaScript nichts anderes als ein Objekt ist. Wenn ich ein Array so definiere:
%Vor%und führen Sie
aus %Vor% Ich bekomme folgendes Array: ["0", "1", "2"]
. Array-Länge von array
ist 3
.
Wenn ich eine Eigenschaft wie folgt hinzufüge:
%Vor% Object.keys()
gibt ["0", "1", "2", "a"]
zurück, aber die Array-Länge von array
ist immer noch 3
.
Aber wenn ich eine Eigenschaft wie folgt hinzufügen:
%Vor% Die Länge von array
ist jetzt 4
.
Wenn array
nur ein anderes Objekt ist, wie kann ich diese Art von Verhalten erreichen, wenn ich mein Objekt von vorne anfange wie var myArray = {}
?
Die Eigenschaft .length
enthält nur Eigenschaften mit numerischen Indizes, insbesondere solche mit ganzzahligen Werten größer oder gleich null.
Wenn Sie fragen, wie Sie die Anzahl der all Schlüssel aus einem Array oder einem Objekt ermitteln können, tun Sie Folgendes:
%Vor% ... da Object.keys()
ein Array zurückgibt, das selbst eine Eigenschaft .length
hat.
Die Eigenschaft length
des Arrays ist der Wert des höchsten numerischen Index + 1.
Also nach array["3"] = "d";
ist der höchste numerische Index 3
, daher gibt die Länge 4
Object.keys(array).length
sollte Ihnen die Länge geben.
Tags und Links javascript arrays object