[软件设计/软件工程] 使阵列短路。 forEach 类调用中断

[复制链接]
发表于 2022-5-4 15:26:11
  1. [1,2,3].forEach(function(el) {
  2.     if(el === 1) break;
  3. });
复制代码

如何使用 JavaScript 中的新 forEach 方法来实现这一点?我试过退货; ,返回假;并打破。打破崩溃并继续迭代。

回答
break 中没有内置的 forEach 函数。要中断执行,必须抛出某种异常。如。
  1. var BreakException = {};

  2. try {
  3.   [1, 2, 3].forEach(function(el) {
  4.     console.log(el);
  5.     if (el === 2) throw BreakException;
  6.   });
  7. } catch (e) {
  8.   if (e !== BreakException) throw e;
  9. }
复制代码

JavaScript 异常不是很漂亮。如果你真的需要在循环中使用 for 循环,那么传统的循环可能更合适。

休息

相反,使用 Array#some :

数组#一些
  1. [1, 2, 3].some(function(el) {
  2.   console.log(el);
  3.   return el === 2;
  4. });
复制代码

这是因为只要按数组顺序执行的任何回调返回,其余回调的执行就会短路,返回一些 .

true ,它的反向 true (将在 some 上停止),并且每个都是 ECMAScript 第 5 版方法,需要添加以在缺少它们的浏览器上返回 false。





上一篇:如何获取数组元素的序列?
下一篇:@manytomony 没有连接表(旧数据库)

使用道具 举报

Archiver|手机版|小黑屋|吾爱开源 |网站地图

Copyright 2011 - 2012 Lnqq.NET.All Rights Reserved( ICP备案粤ICP备14042591号-1粤ICP14042591号 )

关于本站 - 版权申明 - 侵删联系 - Ln Studio! - 广告联系

本站资源来自互联网,仅供用户测试使用,相关版权归原作者所有

快速回复 返回顶部 返回列表