javascript - 是否有可以在 Google App Script 中使用的 .join() 替代方案?

标签 javascript google-apps-script

我正在使用 Google Apps 脚本来使用来自 Google 文档模板上的 Google 表单(显示在响应电子表格中)的输入来生成报告。

我使用下面的代码循环遍历所有答案并在列表中总结某些答案。 (例如,如果用户回答“每日”,该问题的文本将显示在列表中。)

但是,默认情况下,生成的结果都在一行中,并用逗号分隔。我想使用 .join() 函数将分隔符从逗号更改为换行符。

Google 不断返回此错误:

类型错误:无法在对象中找到函数连接删除厨房柜台。 在onFormSubmit(代码:41)

(对象“删除厨房柜台”是指电子表格标题中显示的问题文本之一。)

我了解到 join 是核心 Javascript 函数,而不是 Google Apps 脚本。那么,我的代码有问题吗? (我是初学者)。或者此功能在 Apps 脚本中不起作用?如果是这样,还有其他功能可以工作吗?

非常感谢您的帮助!!!

我尝试将 join 函数与其他简单符号(% 或 *)一起使用,而不是换行符,以防出现问题 - 但它返回相同的错误。

for (var key in e.namedValues) {
  if (e.namedValues[key][0] === 'Daily') 
dailyItems.push(key.replace('[','').replace(']','').trim().join("\n"));
  }
}

最佳答案

回答您的标题问题:Array.prototype.join()在 Apps 脚本中运行良好,您可以通过运行后查看编辑器日志来说服自己

function verifyJoin() {
  Logger.log(["a","b","c"].join("\n"))
}

尝试像这样修改您的代码:

for (var key in e.namedValues) {
  if (e.namedValues[key][0] === 'Daily') {
    dailyItems.push(e.namedValues[key].join("\n"));
  }
}

关于javascript - 是否有可以在 Google App Script 中使用的 .join() 替代方案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57516720/

相关文章:

javascript - 使用预签名 URL 从 PUT 到 S3 的 400 错误请求

javascript - 自动关闭带有要下载文件的弹出窗口

javascript - 再次遇到 Javascript 逻辑问题

google-apps-script - 从 Android 访问 Google Apps 脚本编辑器

javascript - 使用 JavaScript 更改 HTML 文件的内容

javascript - Jquery 对话框不返回用户给定的确认弹出值。

javascript - 从 HTML/JS 进行简单的操作系统检查

javascript - 在 Google 表格中使用 Google Apps 脚本时如何防止日期变成字符串?

javascript - 如何在 Google Apps 脚本中从二进制字符串(客户端隐藏表单字段)重建图像的 blob

google-sheets - 以编程方式在 Google SpreadSheet 上插入脚本