键入对象后退

zul*_*luk 2 javascript object

要循环访问javascript对象,您可以执行此操作

for(key in object){
   // sth. great...
}
Run Code Online (Sandbox Code Playgroud)

是否可以通过对象循环使用此方法?提前致谢.

Mor*_*ler 5

这是不可能的

ECMAScript对象是ES3规范无序属性集合

枚举属性的机制和顺序(第一个算法中的步骤6.a,第二个算法中的步骤7.a)未指定.

枚举期间可以删除要枚举的对象的属性.如果删除枚举期间尚未访问的属性,则不会访问该属性.如果在枚举期间将新属性添加到要枚举的对象,则无法保证在活动枚举中访问新添加的属性.在任何枚举中不得多次访问属性名称.ES5规格

但是,你可以做的是在对象的关键数组上向后迭代.这也并不意味着你奇迹般地给对象的顺序.

var obj = {a: 0, b:1, c:2};
for (var keys=Object.keys (obj),key; key = keys.pop() ;) {
    console.log (key) // c, b, a.
}
Run Code Online (Sandbox Code Playgroud)