问题描述
forEach()
除了抛出异常之外,没有其他方法可以停止或中断循环。如果您需要这种行为,则该forEach()
方法是错误的工具。提前终止可以通过以下方式完成:
- 一个简单的循环
- 一个
for
…of
循环Array.prototype.every()
Array.prototype.some()
Array.prototype.find()
Array.prototype.findIndex()
其他 Array 方法:
every()
、some()
、find()
和findIndex()
使用返回真值的谓词测试数组元素以确定是否需要进一步迭代。
解决方法
$(‘button’).click(function () {
[1,2,3,4,5].forEach(function (n) {
if (n == 3) {
// it should break out here and doesn't alert anything after
return false
}
alert(n)
})
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button>Click me</button>
我的问题:为什么它仍然提醒下一个号码,虽然我打电话return
?就像: 忽略下面的代码并继续下一个元素