1. for 循环

  1. const arr = [1, 2, 3, 4, 5]
  2. for (let i = 0; i < arr.length; i++) {
  3. if (arr[i] === 2) {
  4. continue
  5. }
  6. console.log(arr[i])
  7. }
  8. /* 结果 */
  9. 1
  10. 2
  11. 3
  12. 4
  13. 5

2. forEach 循环

不支持 break和continue 语法

  1. const arr = [1, 2, 3, 4, 5]
  2. arr.forEach(function (item) {
  3. console.log(item)
  4. })
  5. /* 结果 */
  6. 1
  7. 2
  8. 3
  9. 4
  10. 5

3. every

支持 break和continue 语法

every() 方法用于检测数组所有元素是否都符合指定条件(通过函数提供)。
every() 方法使用指定函数检测数组中的所有元素:

  • 如果数组中检测到有一个元素不满足,则整个表达式返回 false ,且剩余的元素不会再进行检测。
  • 如果所有元素都满足条件,则返回 true。

注意: every() 不会对空数组进行检测。
注意: every() 不会改变原始数组。

  1. const arr = [1, 2, 3, 4, 5]
  2. arr.every(function (item) {
  3. if (item === 2) {
  4. } else {
  5. console.log(item)
  6. }
  7. return true
  8. })
  9. /* 结果 */
  10. 1
  11. 3
  12. 4
  13. 5

4.for in

专门为对象遍历提供的方法 数组遍历 for of

for/in 语句用于循环对象属性。
循环中的代码每执行一次,就会对数组的元素或者对象的属性进行一次操作。
JavaScript 支持不同类型的循环:

  • for - 循环代码块一定的次数
  • for/in - 循环遍历对象的属性
  • while - 当指定的条件为 true 时循环指定的代码块
  • do/while - 同样当指定的条件为 true 时循环指定的代码块

注意: 不要使用 for/in 语句来循环数组的索引,你可以使用 for 语句替代。

  1. const arr = [1, 2, 3, 4, 5]
  2. for (let index in arr) {
  3. if (index == 2) {
  4. continue
  5. }
  6. console.log(index, arr[index])
  7. }
  8. /* 结果 */
  9. 0 1
  10. 1 2
  11. 3 4
  12. 4 5


ES6(2015) 新的循环遍历语法

1. for of

专门为数组遍历提供的方法 对象遍历 for in