在循环播放javascript对象时,字段顺序是否可预测?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (36)

在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
}
提问于
用户回答回答于

大多数浏览器会按照添加到对象的顺序循环访问属性,但是JavaScript标准说明顺序是未定义的 - 所以您不应该依赖这种行为。

用户回答回答于

不,行为取决于实施,并不能保证。订单需要保存时使用数组。

扫码关注云+社区