可以使用JavaScript';具有array.forEach的函数是否向调用方返回值?

可以使用JavaScript';具有array.forEach的函数是否向调用方返回值?,javascript,ecmascript-6,Javascript,Ecmascript 6,例如: function findIndexOfFirstNonNegative(array) { array.forEach( (a, i) => { if (a >= 0) { return i; }}); return null; } 结果是返回i不会返回函数的调用方findIndexOfFirstNonNegative(),但它将从fat arrow函数返回,并让forEach继续运行(或者即使它是一个普通的旧函数而不是fat arrow函数,它也是

例如:

  function findIndexOfFirstNonNegative(array) {
    array.forEach( (a, i) => { if (a >= 0) { return i; }});
    return null;
  }
结果是
返回i
不会返回函数的调用方
findIndexOfFirstNonNegative()
,但它将从fat arrow函数返回,并让
forEach
继续运行(或者即使它是一个普通的旧函数而不是fat arrow函数,它也是一样的)


有没有办法跳出并返回给调用者?

使用经典循环。当条件满足时,这将返回到功能

我在循环中添加了一个
console.log()
,以显示它在创建非负数后将停止

函数findIndexOfFirstNonNegative(数组){
for(设i=0,l=array.length;i=0)返回i;
}
返回-1;
}

log(“找到的索引:+findIndexOfFirstNonNegative([-5,2,1]))
使用经典循环。当条件满足时,这将返回到功能

我在循环中添加了一个
console.log()
,以显示它在创建非负数后将停止

函数findIndexOfFirstNonNegative(数组){
for(设i=0,l=array.length;i=0)返回i;
}
返回-1;
}
log(“找到的索引:+findIndexOfFirstNonNegative([-5,2,1]))
您可以在Javascript中使用

array.findIndex( a => a >= 0);
console.log([-5,-10,0,4].findIndex(a=>a>=0))
您可以在Javascript中使用

array.findIndex( a => a >= 0);

console.log([-5,-10,0,4].findIndex(a=>a>=0))
,如果要查找项的索引,则使用了错误的方法
findIndex
可能更好。有关完整列表,请参阅。您可能希望使用Array.some进行更一般的用途。术语“胖箭头功能”已经过时。正确的术语是“箭头函数”。至少自从两年前该规范发布以来,如果您希望查找某个项目的索引,您使用的方法是错误的
findIndex
可能更好。有关完整列表,请参阅。您可能希望使用Array.some进行更一般的用途。术语“胖箭头功能”已经过时。正确的术语是“箭头函数”。至少从两年前规范发布以来。太糟糕了,测试不小于或等于零,因为这样我们就可以编写
a=>a@torazaburo或event better
a=>aToo bad测试不小于或等于零,因为这样我们就可以写
a=>a@torazaburo或者event better
a=>很漂亮…很高兴知道:)如果你想要的答案很漂亮,就接受它吧…很高兴知道:)如果你想要的答案,就接受它吧