【问题标题】:Document document is not defined javascript in Google apps Script文档文档未在 Google 应用程序脚本中定义 javascript
【发布时间】:2023-01-24 20:44:48
【问题描述】:

我无法在 Google Apps 脚本编辑器中运行我的代码。点击跑步给出错误document is undefined

我正在尝试创建一个函数,该函数使用分隔符将字符串分隔为子字符串,并在数组中返回这些子字符串。

function splitSrt(str, delim) {
  var word = "";
  var num = 0;
  str = str + delim;
  var x = str.length;
  var substr_list = [];

  for( var i = 0; i < x; i++){
    if(str[i] != delim)
      word = word + str[i];
      else{
        if(word.length != 0)
          substr_list.push(word);

      word = "";
      }
  }
  return substr_list;
}

var str = "hello my world";
var delim = ' ';
var res = splitSrt(str, delim);
res.forEach(a => {
  document.write( a + "<br>");
});

【问题讨论】:

  • 什么是document.write( a + "&lt;br&gt;");
  • 谷歌应用程序脚本执行服务器端,例如没有 DOM 也没有文档对象。你想做什么?

标签: javascript google-apps-script


【解决方案1】:

您引用的代码在 Apps 脚本中不起作用,因为它试图通过 DOM 写入网页,这在服务器端代码(如 Node.js 或 Apps 脚本)中不可用。

问题是“使用可传递的字符将字符串分隔成子字符串并将它们返回到数组中的函数”

您可能不需要为此编写函数。只需使用String.split(),就像这样:

function test() {
  const str = "hello my world";
  const delim = ' ';
  const res = str.split(delim);
  res.forEach(word => {
    console.log(word);
  });
}

对于更复杂的拆分,请使用 regular expression 作为分隔符。

如果您真的需要创建自己的字符串拆分器函数,请从以下内容开始:

function splitSrt(str, delim) {
  return String(str).split(delim);
}

【讨论】:

    猜你喜欢
    • 2012-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-09
    • 2021-08-27
    • 1970-01-01
    相关资源
    最近更新 更多