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