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

为何Google Apps Script中.map函数返回含undefined的数组?

问题解决:Google Apps Script映射对象返回undefined

问题原因

你的代码里map回调中的return语句后直接换行了,JavaScript的自动分号插入机制会在return后自动添加分号,导致后续的[user["department_text"]]不会被返回,最终得到全是undefined的数组。

修正后的代码

function GETMYJSONDATA() {
  var options = {
    "method": "get",
    "headers": {
      "Authorization": "Bearer REDACTED"
    }
  };

  const url = "REDACTED";
  const res = UrlFetchApp.fetch(url, options);
  const dataAsText = res.getContentText();
  const data = JSON.parse(dataAsText);

  const results = data.response.users.map(user => {
    return [user["department_text"]]; // 将数组和return放在同一行,避免自动分号插入
  });
  
  return results;
}

额外排查建议

  • 确认API返回的data.response.users中的每个user对象确实包含department_text字段,避免因字段不存在导致返回undefined
  • 可以在map回调中添加日志快速排查:
    const results = data.response.users.map(user => {
      console.log(user); // 打印每个user对象,检查字段是否存在
      return [user["department_text"]];
    });
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 15:13:15