我需要得到简单的javascript abject的真实顺序,但我从这段代码得到错误的答案:
var Obj={"x":"z", "2":"a", "1":"b"};
for(i in Obj)
document.write(Obj[i]+"<br>");
Run Code Online (Sandbox Code Playgroud)
我希望看到z,a,b的答案,但我得到b,a,z
见行动代码:
http://jsfiddle.net/gpP7m/
for ... in循环以任意顺序迭代对象的属性
如果需要,请使用键/值元素数组:
var obj=[
{key:"x", value:"z"},
{key:"2", value:"a"}
];
for (var i=0; i<obj.length; i++) document.write(obj[i].value+'<br>');
Run Code Online (Sandbox Code Playgroud)
在现代浏览器(不是IE8)上,您可以:
document.write(obj.map(function(kv){ return kv.value }).join('<br>'));
Run Code Online (Sandbox Code Playgroud)
(它不完全相同,但可能做你想要的)