我试图使用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;
}
});
解决方法:
如果您需要能够中断迭代,请使用.every()而不是.forEach():
someArray.every(function(element) {
if (timetoStop(element)) // or whatever
return false;
// do stuff
// ...
return true; // keep iterating
});
您可以翻转true / false逻辑并使用.some()代替;同样的基本想法.