Ich habe ein sehr einfaches Stück Code, der nicht funktioniert, wie ich es erwarten würde.JavaScript Iterieren über ein Array gibt den falschen Wert
<script>
var m = {0:[1]}
document.write(JSON.stringify(m[0]) + "<br>");
for(var c in m[0]) document.write(c);
</script>
Es gibt:
[1]
0
Aber ich hatte erwartet, zu erhalten:
[1]
1
Ich glaube, ich habe einige Missverständnis aus dem Weg JavaScript funktioniert.
Arrays sind nullindiziert, so [1] hat die Länge 1, Punkt 0 = 1 m [0] hat kein Element 1 – NickSlash
Sie sind nicht über ein Array iterieren. Sie durchlaufen die Objektschlüssel. 'm' ist ein Objekt mit einem Schlüssel namens" 0 ". 'm [0]' ist Schlüssel 0 des Objekts m, das [1] enthält. –
@DanielBeck * du iterierst nicht über ein Array *, ja er ist. er iteriert über m [0] –