在javascript中的数组map方法中使用的break语句
在javascript中的数组map方法中使用的break语句
这个问题在此之前已经有了答案:
可能是重复问题:
是否有一种方式可以在满足条件后跳出数组映射方法?我尝试了以下方法,但会抛出\"Illegal Break Statement\"
错误。这是我随机想出的一个例子。
var myArray = [22,34,5,67,99,0]; var hasValueLessThanTen = false; myArray.map(function (value){ if(value<10){ hasValueLessThanTen = true; break; } } );
我们可以使用for
循环,但我想知道是否可以使用map
方法完成相同的功能?
admin 更改状态以发布 2023年5月24日
使用内置的 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; });