【发布时间】:2018-11-19 06:23:35
【问题描述】:
我试图从数组中返回大于 25 的第一个值,而不使用过滤器等其他方法。假设数组总是排序的。
函数总是返回未定义的。为什么会这样?代码如下:
function checkArr(arr){
arr.forEach(i => {
if (i>25) return i;
})
}
console.log(checkArr([10,20,34,45]))
输出应该是 34。
【问题讨论】:
-
undefined是forEach循环中的返回值:developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…。如果它返回其他东西,我会感到惊讶...... -
那我该如何继续?我应该使用 for 循环吗?再一次,没有其他方法可以使用?
-
你没有返回
arr.forEach的结果,这就是为什么checkArr返回undefined。还有其他方法可以做你想做的事,我相信答案会涵盖这一点。 -
const checkArr = arr => arr.find(i => i > 25)
标签: javascript foreach