如果语句不在foreach循环中运行javascript

Elo*_*usk 1 javascript foreach

我试图从数组中返回大于25的第一个值,而不使用其他方法,如filter.假设数组始终排序.

该函数始终返回undefined.为什么会这样?这是代码:

function checkArr(arr){
  arr.forEach(i => {
    if (i>25) return i;
  })
}

console.log(checkArr([10,20,34,45]))
Run Code Online (Sandbox Code Playgroud)

输出应为34.

hou*_*fio 6

使用时forEach,为数组中的每个项执行另一个函数.该函数可以很好地返回一个值,但它会被完全忽略.如果要在checkArr函数中返回值,则必须执行以下操作:

function checkArr(arr) {
  for (let i of arr) {
    if (i>25) return i;
  }
}
Run Code Online (Sandbox Code Playgroud)