首页 > web前端 > js教程 > `return` 是否会停止 JavaScript `forEach` 循环?

`return` 是否会停止 JavaScript `forEach` 循环?

DDD
发布: 2025-01-04 21:07:40
原创
927 人浏览过

Does `return` Stop a JavaScript `forEach` Loop?

了解 forEach 函数中 return 的用法

在 JavaScript 的 forEach 函数中,使用 return 关键字效果有限。

的影响return

在 forEach 回调函数中,return 仅影响该特定回调的执行。它不会中断循环,也不会阻止后续回调的运行。因此,在提供的示例中:

[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)      
})
登录后复制

当 n 等于 3 时,回调将返回 false,相当于在此上下文中返回“undefined”。但是,循环将按预期继续,并且将提醒下一个数字 (4)。

替代迭代方法

如果需要跳出循环根据条件,考虑使用替代迭代方法,例如:

  • 一个简单的循环:

    for (let i = 0; i < array.length; i++) {
    if (array[i] == 3) {
      break;
    }
    alert(array[i]);
    }
    登录后复制
  • Array.prototype.every():

    array.every((n) => {
    if (n == 3) {
      return false; // Exit the loop
    }
    alert(n);
    return true;
    });
    登录后复制

Mozilla 开发者网络文档

正如 Mozilla 开发者网络文档中所述:

“除了抛出异常之外,没有其他方法可以停止或中断 forEach() 循环。如果您需要这样的行为,forEach() 方法是错误的工具。”

以上是`return` 是否会停止 JavaScript `forEach` 循环?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板