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
// 注意:这里是数值型