Ist die Reihenfolge der Felder in ein javascript-Objekt vorhersehbar, wenn die Schleife durch Sie?
In php, wenn Sie den folgenden code:
$map = array(
"first" => 1,
"second" => 2
);
$map["third"] = 3;
foreach($map as $key => $value) {
//code
}
Sie wissen, werden die Einträge aufgelistet, in der Reihenfolge, wie Sie Hinzugefügt wurden, um das array.
Nun, kann ich davon ausgehen das gleiche gilt für die Javascript-äquivalent unten?
map = {
"first": 1,
"second": 2
};
map["third"] = 3;
for (key in map) {
//code
}
Dies ist ein Duplikat von: Elemente, um - for (... in ...) - Schleife in javascript
- mögliche Duplikate von - Elemente, um - for (... in ...) - Schleife in javascript
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den meisten Browsern wird eine Schleife durch die Eigenschaften in der Reihenfolge, wie Sie Hinzugefügt wurden, um das Objekt, sondern den Javascript-standard sagt, dass die Reihenfolge nicht definiert ist -- so sollten Sie nicht auf dieses Verhalten verlassen. Zum Beispiel, ich lese ein blog-post eine Weile zurück, über wie Google Chrome nicht immer zeigen dieses Verhalten.
Wenn Sie die bestellten Funktionalität, erstellen Sie eine neue Klasse für sich, kann sowohl die Objekt-oder die numerischen Tasten.
Nein, das Verhalten ist abhängig von der Umsetzung und es ist nicht garantiert. Verwenden Sie ein array, wenn die Reihenfolge beibehalten werden muss.