当前位置:  开发笔记 > 编程语言 > 正文

突破内部foreach循环

如何解决《突破内部foreach循环》经验,为你挑选了1个好方法。

我正在尝试使用JavaScript / jQuery突破内部的foreach循环。

result.history.forEach(function(item) {
    loop2:
    item.forEach(function(innerItem) {
        console.log(innerItem);
        break loop2;
    });
}); 

这导致错误'Unidentified label loop2'。似乎恰好在循环之前,这就是其他问题在说的问题。

我在做什么错,我该如何解决?

编辑:正确,foreach循环无法以这种方式中断,但是常规的for循环可以。这正在工作:

                        result.history.forEach(function(item) {
                            loop2:
                            for (var i = 0; i < item.length; i++) {
                                var innerItem = item[i];
                                console.log(innerItem);
                                break loop2;
                            }
                        });

Pointy.. 6

如果您需要中断迭代,请使用.every()代替.forEach()

someArray.every(function(element) {
  if (timeToStop(element)) // or whatever
    return false;
  // do stuff
  // ...
  return true; // keep iterating
});

您可以翻转true/ false逻辑并.some()改为使用;相同的基本思想。



1> Pointy..:

如果您需要中断迭代,请使用.every()代替.forEach()

someArray.every(function(element) {
  if (timeToStop(element)) // or whatever
    return false;
  // do stuff
  // ...
  return true; // keep iterating
});

您可以翻转true/ false逻辑并.some()改为使用;相同的基本思想。


只是作为后代的注解;这是ECMAScript 5.1及更高版本,因此IE9以下不支持。
推荐阅读
ifx0448363
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有