JavaScript的forEach、every、some方法

背景

有时在业务中,常常会碰到迭代数组时,满足某个条件之后就break掉的需求,但是Array对象的forEach函数并不支持continue, break关键字,最后无奈只能去写原生的for循环

  // 出现3之后停止循环
  const arr = [6, 4, 1, 3, 9, 5]

forEach

forEach函数会忽略返回值,并且无法中断循环,但是可以使用return跳过本次循环

  arr.forEach(item => {
    if (item === 3) {
      return
    }
    console.log(item)
  }) // 6 4 1 9 5

for

原生的for循环,可以使用关键字continue跳过本次循环和关键字break终止循环

  for (let i = 0; i < arr.length; i++) {
    if (arr[i] === 3) {
      break
    }
    console.log(arr[i])
  } // 6 4 1

every

迭代时返回值为false时中断循环,可以使用return true跳过本次循环

  arr.every(item => {
    console.log(item)
    return item !== 3
  }) // 6 4 1 3

some

迭代时返回值为true时中断循环,可以使用return false跳过本次循环

  arr.some(item => {
    console.log(item)
    return item === 3
  }) // 6 4 1 3
posted @   Hyjax  阅读(215)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示