找回密码
 立即注册
forEachBreakException返回function | 软件设计/软件工程 2022-05-04 250 0star收藏 版权: . 保留作者信息 . 禁止商业使用 . 禁止修改作品
  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 没有连接表(旧数据库)