In php, if you have the following code:
$map = array(
"first" => 1,
"second" => 2
);
$map["third"] = 3;
foreach($map as $key => $value) {
// code
}
You know the entries will be listed in the order they have been added to the array.
Now, can I assume the same rule applies to the Javascript equivalent below?
map = {
"first": 1,
"second": 2
};
map["third"] = 3;
for (key in map) {
// code
}
This is a duplicate of: Elements order - for (… in …) loop in javascript
Most browsers will loop through the properties in the order they were added to the object, but the Javascript standard says the order is undefined -- so you shouldn't rely on this behavior. For example, I read a blog post a while back about how Google Chrome didn't always exhibit this behavior.
If you need the ordered functionality, you should create a new class for yourself that can use both object or numeric keys.