小编典典

javascript数组映射方法中的中断语句

all

有没有办法在满足我的条件后打破数组映射方法?我尝试了以下抛出的"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方法完成相同的操作?


阅读 65

收藏
2022-08-05

共1个答案

小编典典

使用内置的Array.prototype.map.
for但是,如果您不打算使用map任何值,则可以使用简单的循环:

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;
});
2022-08-05