Javascript 数组映射方法中的 Break 语句

< p > 可能的复制品: < br > 如何短路数组。每个喜欢调用断路器?

是否有一种方法,以便我可以突破数组映射方法后,我的条件得到满足?我尝试了以下方法,抛出 "Illegal Break Statement" Error.这是我想到的一些随机例子。

var myArray = [22,34,5,67,99,0];


var hasValueLessThanTen = false;


myArray.map(function (value){
if(value<10){
hasValueLessThanTen = true;
break;
}
}
);

我们可以使用 for循环,但是我想知道我们是否可以使用 map方法完成同样的操作?

347536 次浏览

这是不可能的使用内置的 Array.prototype.map。但是,如果您不打算为 map设置任何值,那么您可以使用一个简单的 for循环:

var hasValueLessThanTen = false;
for (var i = 0; i < myArray.length; i++) {
if (myArray[i] < 10) {
hasValueLessThanTen = true;
break;
}
}

或者,按照 @RobW的建议,使用 Array.prototype.some来测试是否存在至少一个小于10的元素。当找到与函数匹配的元素时,它将停止循环:

var hasValueLessThanTen = myArray.some(function (val) {
return val < 10;
});