如何在 JavaScript 中跳出 foreach 循环?

4

我有一个对象mobile_specs,其中包含几个字段,例如DeviceName,Brand,Camera。 我遍历mobile_specs对象,以便可以以表格格式打印两个移动设备的规格:

var i=0;
Object.keys(mobile_specs).forEach(function(key) {
                       if(i==5)
                       {
                        break;
                       }
                      var mobile1=mobile_specs.[key];
                      var mobile2=mobile_specs.[key];
                      alert(mobile1 + " " +mobile2);
                      i++;
                });

但是上面的代码给我一个错误,错误信息如下:
Illegal break statement

当i等于5时,我该如何打破循环?

任何帮助都会受到赞赏。


2
使用return代替break。你不能在forEach中使用break,可以使用for循环来代替。 - Get Off My Lawn
1
除了抛出异常之外,没有办法停止或中断forEach()循环。 - litelite
1
你应该参考这个问题,它在这里有详细的解释 - https://dev59.com/5m025IYBdhLWcg3wAxF9 - Mohit Bajoria
2
供您日后理解的附注...您的代码中实际上没有循环。那是一个函数调用。 - David
1
不要开始forEach,将Object.keys的值存入变量中。然后您可以使用该变量进行普通的for循环,其中断将起作用。 - JEET ADHIKARI
显示剩余3条评论
1个回答

8

除了抛出异常,没有办法停止或中断forEach()循环。我认为forEach不适合你的工作,请使用简单的循环代替。


1
https://dev59.com/EXE85IYBdhLWcg3wvGAR - Pavan Chandaka

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接