在php中,如果你有以下代码:
$map = array(
"first" => 1,
"second" => 2
);
$map["third"] = 3;
foreach($map as $key => $value) {
// code
}
您知道,条目将按照添加到数组中的顺序列出。
现在,我可以假设同样的规则也适用于下面的Javascript等价物吗?
map = {
"first": 1,
"second": 2
};
map["third"] = 3;
for (key in map) {
// code
}
发布于 2009-03-15 17:12:55
大多数浏览器都会按照属性被添加到对象中的顺序遍历属性,但是Javascript标准说顺序是未定义的--所以您不应该依赖这种行为。例如,不久前我在blog post上看到一篇关于Google Chrome并不总是表现出这种行为的文章。
如果您需要有序功能,您应该为自己创建一个既可以使用对象键也可以使用数字键的新类。
发布于 2009-03-15 17:04:32
不,行为依赖于实现,并且不能保证。当需要保留顺序时,请使用数组。
https://stackoverflow.com/questions/648139
复制相似问题