var arr = [2,43,22,1] for(let i = 0; i < arr.length; i++){ console.log(arr[i]); } // 2 // 43 // 22 // 1
for 循环的优缺点是什么?
var arr = [2,43,22,1] arr.forEach((item,index) => { console.log(item,index); }) // 2 0 // 43 1 // 22 2 // 1 3
这种方法确实很方便:它使我们无需执行大量操作就能够可访问数组元素和索引。如果用箭头函数(在ES6中引入)的话,在语法上会更加优雅。
.forEach() 的主要缺点是:
var arr = [2,43,22,1] for(let key in arr){ console.log(arr[key]); } // 2 // 43 // 22 // 1
for-in 不是循环遍历数组的好方法:
var arr = [2,43,22,1] for(let value of arr){ console.log(value); } // 2 // 43 // 22 // 1
for-of 在循环遍历数组时非常有效:
它访问的是属性值,而不是键
可以使用 await
如果有需要,可以轻松地迁移到 for-await-of。
甚至可以将 break 和 continue 用于外部作用域。