Javascript 从forEach返回的结果导致未定义

Javascript 从forEach返回的结果导致未定义,javascript,foreach,Javascript,Foreach,我有一个使用forEach循环列表的函数,我希望尽早返回结果(模仿break)。但函数返回未定义的。为什么返回未定义 const list=[1,2,3]; 常数测试=()=>{ const rs=list.forEach(项=>{ 退货项目 }) 返回rs } 常数rs=测试() console.log(rs)函数forEach不返回值。您最好使用查找。在这一点上,不清楚您想要对循环执行什么操作,所以我假设您正在尝试基于条件返回一个值 从 forEach()为每个数组元素执行一次回调函数;

我有一个使用
forEach
循环列表的函数,我希望尽早返回结果(模仿
break
)。但函数返回未定义的。为什么返回未定义

const list=[1,2,3];
常数测试=()=>{
const rs=list.forEach(项=>{
退货项目
})
返回rs
}
常数rs=测试()

console.log(rs)
函数
forEach
不返回值。您最好使用
查找
。在这一点上,不清楚您想要对循环执行什么操作,所以我假设您正在尝试基于条件返回一个值

forEach()为每个数组元素执行一次回调函数;与map()或reduce()不同,它总是返回未定义且不可链接的值。典型的用例是在链的末端执行副作用

而且,调用函数的方式是错误的。您正在回调中设置变量,但从未返回该变量。
test
函数不返回任何内容。因此你没有定义

您应该返回
find
函数的值

const list=[1,2,3];
常数测试=()=>{
返回列表。查找(项=>{
如果(/*某些条件*/项>1){
退货项目
}
})
}
常数rs=测试()

console.log(rs)
如果您想知道列表中是否有您需要的内容,请注意,测试需要返回一些内容,以便日志显示任何内容

const list=[1,2,3];
常数测试=()=>{
常量rs=list.filter(项=>{
返回项目!=null
})
返回rs.length>0;
}
常数rs=测试()

console.log(rs)
根据定义,forEach返回未定义。见此:

您可以改用map,它返回一个数组,不要忘记在map中返回它

const list = [1, 2, 3];
const test = () => {
  const rs = list.map(item => {
      return item
  })
  return rs;
}
const rs = test()

用这种方法解决这个问题

const list=[1,2,3];
常数测试=()=>{
常数rs=[];
list.forEach(项=>{
rs.push(项目);
})
返回rs;
}
常数rs=测试();

控制台日志(rs)
test
没有返回任何内容……我已经更新了JSFIDDLE。请看:这篇文章没有任何意义。。。foreach不返回值,并且在您的示例中不清楚要获得什么(相同的数组?)