有没有办法在满足我的条件后打破数组映射方法?我尝试了以下抛出的"Illegal Break Statement" Error.方法 这是我想出的一些随机示例。
"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方法完成相同的操作?
for
map
使用内置的Array.prototype.map. for但是,如果您不打算使用map任何值,则可以使用简单的循环:
Array.prototype.map
var hasValueLessThanTen = false; for (var i = 0; i < myArray.length; i++) { if (myArray[i] < 10) { hasValueLessThanTen = true; break; } }
或者,如建议的那样@RobW,用于Array.prototype.some测试是否存在至少一个小于 10 的元素。当找到与您的函数匹配的某个元素时,它将停止循环:
@RobW
Array.prototype.some
var hasValueLessThanTen = myArray.some(function (val) { return val < 10; });