for..in 循环数组需注意

图片
通常使用 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 协议》,转载必须注明作者和本文链接
未填写
文章
68
粉丝
17
喜欢
141
收藏
119
排名:130
访问:7.5 万
私信
所有博文
社区赞助商