$('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>
My question: Why does it still alert next number although I call return
? Just like: Ignore the code below and continue with next element
除了
forEach()
引发异常外,没有其他方法可以停止或中断循环。如果您需要这种行为,该forEach()
方法是错误的工具。提前终止可以通过以下方式完成:
- 一个简单的循环
- 一
for
...of
圈Array.prototype.every()
Array.prototype.some()
Array.prototype.find()
Array.prototype.findIndex()
另一个阵列的方法:
every()
,some()
,find()
,和findIndex()
测试使用谓词返回truthy值的数组元素,以确定是否需要进一步的迭代。
在return
退出当前功能,但反复不断,所以你得到的“下一个”项目是跳过if
和警报的4 ...
如果您需要停止循环,则应该使用普通for
循环,如下所示:
$('button').click(function () {
var arr = [1, 2, 3, 4, 5];
for(var i = 0; i < arr.length; i++) {
var n = arr[i];
if (n == 3) {
break;
}
alert(n);
})
})
您可以在此处阅读有关js break和继续的更多信息:http : //www.w3schools.com/js/js_break.asp
本文地址:http://javascript.askforanswer.com/what-does-return-keyword-mean-inside-foreach-function-duplicate.html
文章标签:arrays , javascript
版权声明:本文为原创文章,版权归 javascript 所有,欢迎分享本文,转载请保留出处!
文章标签:arrays , javascript
版权声明:本文为原创文章,版权归 javascript 所有,欢迎分享本文,转载请保留出处!
评论已关闭!