You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript数组map方法内return正常但外层返回undefined怎么解决

问题原因
  • 核心问题是你定义的myfun函数没有显式返回运算结果:当箭头函数的函数体用大括号{}包裹时,必须手动写return语句指定返回值,否则函数默认返回undefined。你代码里仅执行了data.map操作,没有把map生成的新数组作为myfun的返回值向外传递,所以调用函数得到的结果就是undefined。
  • 你在map回调内部打印能拿到正确值,是因为map的遍历逻辑本身是正常执行的,只是最终生成的结果数组没有被外层函数返回。
修复代码
// 修复方案1:给外层函数加return语句
const myfun = (data) => {
    return data.map((elem) => {
      return elem[1]  
    });
};

// 修复方案2:省略外层大括号,使用箭头函数隐式返回的特性简化代码
const myfun = (data) => data.map(elem => elem[1]);


let demo = [[1,2,3],[1,2,3]]
console.log(myfun(demo)); 
// 输出 [2, 2],如果需要单独打印2、2可以遍历输出结果数组

内容的提问来源于stack exchange,提问作者geek glance

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 01:15:01