我有一个用javascript代码编写的JavaScript对象,如下所示:

var rtnStr = {"000":"area000","020":"area020","030":"area030",
              "040":"area040","047":"area047","049":"area049",
              "050":"area050","060":"area060","070":"area070",
              "100":"area100", "900":"area900"};

for (var key in rtnStr) {
  document.write('rtnStr[' + key + ']= ' + rtnStr[key] + '<br />');
}


然后在浏览器中运行代码,结果如下:

rtnStr[100]= area100
rtnStr[900]= area900
rtnStr[000]= area000
rtnStr[020]= area020
rtnStr[030]= area030
rtnStr[040]= area040
rtnStr[047]= area047
rtnStr[049]= area049
rtnStr[050]= area050
rtnStr[060]= area060
rtnStr[070]= area070


对象字段(键)的顺序与我声明的顺序不同,如何获得以下结果?

rtnStr[000]= area000
rtnStr[020]= area020
rtnStr[030]= area030
rtnStr[040]= area040
rtnStr[047]= area047
rtnStr[049]= area049
rtnStr[050]= area050
rtnStr[060]= area060
rtnStr[070]= area070
rtnStr[100]= area100
rtnStr[900]= area900

最佳答案

JavaScript对象是无序的。

如果要按排序顺序输出其属性,则:


创建一个数组
循环遍历对象,将属性名称推入数组
对数组排序
遍历数组(并使用值访问原始对象)。

09-03 19:34