技术频道导航
HTML/CSS
.NET技术
IIS技术
PHP技术
Js/JQuery
Photoshop
Fireworks
服务器技术
操作系统
网站运营

赞助商

分类目录

赞助商

最新文章

搜索

JavaScript forEach break 退出循环的两种方法

作者:admin    时间:2022-7-5 9:45:48    浏览:

不像for循环可以用break强迫退出循环,forEach循环需要另寻方法强行退出循环,本文将介绍两种实现方法。

使用抛出错误来退出 forEach 循环

我们需要将 Array.prototype.forEach 循环包装在 try catch 语句中,以便我们可以捕获我们将要抛出的错误,中断循环。

示例:

const breakFE = () => {
  throw new Error("BREAK_FE")
}

const handleBreakFEError = e => {
  if (e.message !== "BREAK_FE") {
    throw e
  } else {
    console.log("javascript foreach break!")
  }
}

try {
  [1, 2, 3].forEach(item => {
    if (item > 1) {
      breakFE()
    }
    console.log(item)
  })
} catch (e) {
  handleBreakFEError(e)
}

输出

1
javascript foreach break!

使用 if 语句退出 forEach 循环

示例:

let breakFe = false;

[1, 2, 3].forEach(item => {
  if (item > 1) {
    return
  }
  console.log(item)
})

该示例说明如何使用 if 语句跳过 forEach 循环中的计算。

实际上不能使用 if 语句“中断” JavaScript forEach 循环,因为它仍会在你的数组上执行所有迭代。

但是你可以大大减少每次迭代中发生的工作量。

如果你在 forEach 循环的每次迭代中进行大量计算,那么虽然并不完美,但你可以使用 if 语句来减轻执行该工作的情况,这有点像在每次迭代时调用 continue

总结

本文介绍了两种 break 退出 JavaScript forEach循环的方法,不过这并非理想,如果你需要中途退出循环,你最好使用 for 循环,而不是 forEach 循环。你可以了解一下for与forEach循环的几个区别,此外,你要了解,不是所有浏览器都支持forEach语句,JS中不兼容IE浏览器的循环语句有哪些?for..of等,如果数据量较大,你可能还需要考虑到程序执行的速度性能问题,通过实测速度比较:JS中的for、for...of和forEach循环,你可能更明白自己需要选择何种循环方法。

相关文章

标签: forEach  forEach方法  
x
x
  • 站长推荐