for..in 迴圈陣列需注意

zhaiduting發表於2020-10-31

圖片
通常使用for..in遍歷物件,如果用它來遍歷陣列,需要注意的是:拿到的索引不再是數字。這正是第2個迴圈裡的 continue 不會執行的原因。

var arr = [1, 2, 3, 4, 5]
//迴圈1
for (var key = 0; key < 5; key++) {
    if (key === 3) {
        console.log('跳過一次迴圈');
        continue;
    }
    console.log(key, '->', arr[key])
}
console.log('\n')

//迴圈2
for (var key in arr) {
    if (key === 3) {
        console.log('跳過一次迴圈');
        continue;
    }
    console.log(key, '->', arr[key])
}
console.log('\n')

//迴圈3
for (var key in arr) {
    if (key === '3') {
        console.log('跳過一次迴圈');
        continue;
    }
    console.log(key, '->', arr[key])
}
console.log('\n')
本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章