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