[js] 使用for-in语句能保证遍历对象的顺序吗?如果不能那为什么?如果可以那又如何保证?
生活随笔
收集整理的這篇文章主要介紹了
[js] 使用for-in语句能保证遍历对象的顺序吗?如果不能那为什么?如果可以那又如何保证?
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
[js] 使用for-in語句能保證遍歷對象的順序嗎?如果不能那為什么?如果可以那又如何保證?
Chrome Opera 的 JavaScript 解析引擎遵循的是新版 ECMA-262 第五版規范。因此,使用 for-in 語句遍歷對象屬性時遍歷順序并非屬性構建順序。而 IE6 IE7 IE8 Firefox Safari 的 JavaScript 解析引擎遵循的是較老的 ECMA-262 第三版規范,屬性遍歷順序由屬性構建的順序決定。如果我們需要按照一定的順序輸出屬性,也可以先在一個數組中保存所有的key值,再將數組排序,最后循環這個key數組,通過key獲取對象中的屬性即可: var user = {}; if(!user['Jason']) { user['Jason'] = []; } user['Jason']['grade'] = 3; user['Jason']['level'] = 1;if(!user['arthinking']) { user['arthinking'] = []; } user['arthinking']['grade'] = 4; user['arthinking']['level'] = 1;console.log(user);for(var key in user){ console.log('key: ', key); }var keys = []; for(var key in user){ keys.push(key); } keys = keys.sort();for(var i=0; i<keys.length; i++){ var key = keys[i]; console.log(user[key]['grade']); }個人簡介
我是歌謠,歡迎和大家一起交流前后端知識。放棄很容易,
但堅持一定很酷。歡迎大家一起討論
主目錄
與歌謠一起通關前端面試題
總結
以上是生活随笔為你收集整理的[js] 使用for-in语句能保证遍历对象的顺序吗?如果不能那为什么?如果可以那又如何保证?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: win8远程桌面多开
- 下一篇: MLDN的视频空间