for-in為什么不按照順序遍歷對象


var obj = {
  1: 'a',
  3: 'c',
  2: 'b',
}

for (const key in obj) {
    console.log(key)
}
// '1' '2' '3'

原因:for-in在遍歷時,先遍歷出整數屬性(integer properties,按照升序),然后其他屬性按照創建時候的順序遍歷出來。

如果想要按照指定順序遍歷真么辦,可以把key值調整為非整數屬性

var obj = {
'+1': 'a',
'+3': 'c',
'+2': 'b',
}

for (const key in obj) {
    console.log(+key)
}
// 1 2 3
// 注意:這里是數值型


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM