要循环访问javascript对象,您可以执行此操作
for(key in object){
// sth. great...
}
Run Code Online (Sandbox Code Playgroud)
是否可以通过对象循环使用此方法?提前致谢.
这是不可能的
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)