js 数组循环中断

中间其余事情没有写 崛起 今天看看在js循环数组的时候 break return continue
普通for循环数组

for(var i=0; i<3; i++) {
    console.log(i)  // 正常  012
}
for(var i=0; i<3; i++) {
    if(i === 1) {
        break
    }
    console.log(i)  // 0  break 跳出循环
}
for(var i=0; i<3; i++) {
    if(i === 1) {
        continue
    }
    console.log(i)  // 0 2 continue 跳出本次循环 进行下次循环
}
for(var i=0; i<3; i++) {
    if(i === 1) {
        return 
    }
    console.log(i)  // 报错
}
复制代码

for inbash

var arr = [1,2,3]
  for(var i in arr) {
      console.log(i) // 0 1 2  正常
  }
  for(var i in arr) {
    if(i == 1) {
        break
    }
      console.log(i) // 0  跳出本次循环执行循环体后面代码
  }
  for(var i in arr) {
    if(i == 1) {
        continue
    }
      console.log(i) // 0 2  结束本次循环执行下次循环
  }
  for(var i in arr) {
    if(i == 1) {
        return
    }
      console.log(i) // 报错
  }
复制代码

for ofui

var arr = [1,2,3]
  for(var i of arr) {
      console.log(i) // 1 2 3  正常  for of  i值value  不是下标值
  }
   for(var i of arr) {
      if(i === 2) {
          break
      }
      console.log(i) // 1  跳出循环  跟for 相似
  }
  for(var i of arr) {
      if(i === 2) {
          continue
      }
      console.log(i) // 1 3   结束本次循环 跟for 相似
  }
  for(var i of arr) {
      if(i === 2) {
          return
      }
      console.log(i) // 报错 
  }
复制代码

forEachspa

var arr = [1,2,3]
 arr.forEach(function(value, index){
     console.log(value) // 1 2 3  正常
 })
 arr.forEach(function(value, index){
     if(index === 1) {
         break
     }
     console.log(value) // 报错
 })
 arr.forEach(function(value, index){
     if(index === 1) {
         continue
     }
     console.log(value) // 报错
 })
 arr.forEach(function(value, index){
     if(index === 1) {
         return true
     }
     console.log(value) //  1 3  
 })
复制代码

map map 跟forEach 同样可是返回值是数组code

总结:it

  • 有break continue 的 普通for forin forof
  • 没有break continue map forEach
相关文章
相关标签/搜索