`forEach` 函数中的 `return` 关键字是什么意思? [复制]

2024-06-29

$('button').click(function () {
   [1, 2, 3, 4, 5].forEach(function (n) {
      if (n == 3) {
         // it should break out here and doesn't alert anything after
         return false
      }
      alert(n)      
   })
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button>Click me</button>

我的问题:为什么我拨打后仍然提示下一个号码return?就像:忽略下面的代码并继续下一个元素


来自Mozilla 开发者网络 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach#Description:

没有办法阻止或打破forEach()除了抛出异常之外的循环。如果您需要这样的行为,forEach()方法是错误的工具。

提前终止可以通过以下方式完成:

  • 一个简单的循环
  • A for...of https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...of loop
  • Array.prototype.every() https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/every
  • Array.prototype.some() https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/some
  • Array.prototype.find() https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find
  • Array.prototype.findIndex() https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/findIndex

其他数组方法:every() https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/every, some() https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/some, find() https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find, and findIndex() https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/findIndex使用返回真值的谓词测试数组元素,以确定是否需要进一步迭代。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

`forEach` 函数中的 `return` 关键字是什么意思? [复制] 的相关文章

  • div 刷新,无需单击按钮

    如何使 div 刷新 例如 10 秒后 并执行 run query 函数而不单击按钮 div strong Quote of the Day strong div div a Next quote a div Use 设置时间间隔 http
  • Chrome 扩展:如何重定向到自定义 HTML 页面以响应特定的 Web 请求?

    I d like to write an extension that redirects all web traffic to a specific domain let s say wikipedia org to an interme
  • 如何确保具有数组到指针转换的函数在重载解析中失败?

    我希望能够在重载解析中区分数组和指针 class string public string const char c str template
  • 了解 HTML 5 事件拖动

    我不明白为什么在事件拖动中鼠标坐标clientX的返回值总是0或释放鼠标之前的负值 我准备了一个例子 当用户dragstart 鼠标位置正确 结束同样dragend 但是如果你查看控制台drag你会看到之前dragend负值 是正常行为吗
  • html5 画布上下文 .fillStyle 不起作用

    只是为了创建一个游戏而第一次尝试canvas 我显示了一个图像 但奇怪的是 fillStyle 方法似乎不起作用 至少画布背景在谷歌浏览器中仍然是白色的 请注意 在我的代码中 画布变量实际上是画布元素的二维上下文 也许这就是我让自己感到困惑
  • 比较两个javascript数组?

    我想相互比较两个数组 看看是否匹配 如果匹配则执行某些操作 var answers new Array a b c d e var correct new Array a d do a for loop if there s a match
  • Webkit 和 jQuery 可拖动跳跃

    作为实验 我创建了几个 div 并使用 CSS3 旋转它们 items position absolute cursor pointer background FFC400 moz box shadow 0px 0px 2px E39900
  • Canvas 按点绘制图像

    是否可以使用canvas drawImage但提供目标和源 x y 坐标 而不是大小 类似于Java的drawImage的工作原理 boolean Graphics drawImage Image img int dstx1 int dst
  • 在条件 for 循环中渲染 React

    我在网页中有静态信息 class MyStaticWebPage extends React Component render return
  • WebSocket 已处于 CLOSING 或 CLOSED 状态。

    我尝试使用 Javascript PHP 和 Wamp 执行 WebSocket 但在发送时出现错误 WebSocket 已处于 CLOSING 或 CLOSED 状态 我已经使用了源代码here http sii rennes devel
  • 通过setRequestHeader授权

    我发现这段代码可以使用 setRequestheader 和 Ajax 进行身份验证 this xmlDoc setRequestHeader Authorization Basic Base64 encode User Password
  • d3.js 结合分层边缘捆绑和径向 Reingold–Tilford 树 + 数据

    我想 某种程度上 结合分层边缘捆绑 http bl ocks org mbostock 7607999和径向 Reingold Tilford 树 http bl ocks org mbostock 4063550 It would loo
  • 人们使用什么 javascript 模拟框架? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我正在使用 Jasmine 来测试客户端和服务器端 javascript 并且需要进行一些模拟 有人对一个好的 javascript 模拟框架有
  • 为什么我收到 TypeError: array[i] is undefined? [复制]

    这个问题在这里已经有答案了 因此 在我的程序中 我有一个包含值的字典 散列的数组 当我循环遍历该数组时 我得到了我需要的值 但 for 循环之后的任何代码都不会执行 因为控制台输出 TypeError array i is undefine
  • 正则表达式替换“NO-BREAK SPACE”

    我正在寻找一个正则表达式来替换字符串中的 NO BREAK SPACE 有一些与 NO BREAK SPACE 相关的问题 但似乎没有一个问题能让我找到正确的答案 到目前为止 我尝试使用 字符串 AB 的第二个字符是不间断空格 但没有成功
  • JavaScript 相当于 htonl?

    对于 AJAX 请求 我需要发送一个幻数作为请求正文的前四个字节 首先是最高有效字节 以及请求正文中的其他几个 非常量 值 JavaScript 中是否有相当于 htonl 的东西 例如 给定 0x42656566 我需要生成字符串 Bee
  • 如何触发 Bootstrap Carousel 的轮播指示器

    我的代码有什么问题吗 我想触发当前的引导轮播幻灯片编号 我想在特定幻灯片时更改文本或执行一些 jQuery 命令 请看我的代码 document ready function myCarousel on slide bs carousel
  • 根据值过滤对象数组

    有没有办法通过可能存在于任何属性中的特定值来过滤对象数组 假设我有这个对象 var x name one swp two name two swp three name aa swp bb With Array prototype filt
  • 如何在 Google 地图 v3 中的每个标记上添加编号?

    我想问大家如何使用 JavaScript 在 Google 地图 v3 中的每个标记上动态添加数字 例如 第一个标记是 1 第二个标记是 2 等等 在这种情况下 我的位置数据如下 new google maps LatLng 1 3667
  • Visual Studio 2013 中的 JavaScript HTML5 CSS3 项目模板

    我刚刚下载了 Visual Studio 2013 Express for Web 我想知道如何部署仅限 JavaScript HTML5 和 CSS3 的项目 我找不到合适的模板或方法来做到这一点 我已经在网上搜索过JavaScript模

随机推荐