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

赞助商

分类目录

赞助商

最新文章

搜索

为什么不能在forEach中使用break、continue或return?

作者:admin    时间:2023-6-7 16:26:51    浏览:

为什么我们不能在 forEach 中使用 breakcontinuereturn

让我们从一个例子开始。

<script>
      let amounts=[1.25,2.25,3.25,4.25];
      amounts.forEach((item)=>{
      if(item===3.25){
      break;
      }
      });
</script>

输出

 

提示是语法错误,无效的 break 语句。

我们深入了解一下 forEach 方法。

官方MDN(Mozilla 开发者网络)文档说,

除了抛出异常之外,没有其他方法可以停止或中断 forEach() 循环。如果有这样的需求,则不应该使用 forEach() 方法。

原因是 forEach 循环方法有一个应用于数组中每个元素的回调函数。因此,无论函数内是否有跳转语句,如 continue 或 break,回调函数都需要自行完成。 

官方MDN文档还说到,

可以通过像 forfor...offor...in 这样的循环语句来实现提前终止。当不需要进一步迭代时,诸如 every()some()find()findIndex() 等数组方法也会立即停止迭代。

示例

使用 findIndex() 方法立即停止迭代

const array1 = [5, 12, 8, 130, 44];

const isLargeNumber = (element) => element > 13;

console.log(array1.findIndex(isLargeNumber));

// 输出: 3

使用 findIndex() 方法立即停止迭代

参考文章

相关文章

标签: forEach方法  
x
  • 站长推荐
/* 左侧显示文章内容目录 */