1

第一次在这里发布 Google Script 相关服务的海报,希望我把它放在正确的地方!我遇到了一个错误,我似乎找不到正确的术语来查找解决方案。下面是函数。在其中我有一个变量 string1,我将拆分应用于该变量。如果我硬编码字符串的值(在字符串中注释掉的行中),那么它可以工作并且我会收到正确的输出。另一方面,如果我尝试将该字符串从另一个函数传递给该函数,则会收到以下错误:

“类型错误:在对象中找不到函数拆分 2013 年 10 月 30 日星期三 09:00:26 GMT-0400 (EDT),danno,ticket,netid,request,mac,Error - Invalid Mac / Mac Not Found。”

注意:我对函数的调用如下所示 - formatEmailRow(completeEmailArray[i])

function formatEmailRow(rowToFormat) {
  var formattedString = "";
  var array1 = [];
  var string1 = "";
  ///////////////////////
  string1 = rowToFormat;
  //string1 ="10/30/2013 9:00:26,danno,ticket,netid,request,mac,Error  - Invalid Mac / Mac Not Found ";
  ///////////////////////
  array1 = string1.split(",| ,|, ");
  if (array1 != ""){
  for (var i = 0; i < array1.length; i++) {
  formattedString = formattedString + "     " +(array1[i]);
  }}
  return formattedString;
  }

请帮忙!提前感谢,任何建议表示赞赏!

-丹诺

4

1 回答 1

0

您收到该错误是因为.split()您传入的对象类型中不包含方法。由于您是新手,因此值得停下来阅读对象和方法 -这是一个快速概述

你想收到一个字符串,但似乎你不是。问题出在调用formatEmailRow().

我的猜测是您正在传递一个数组 - 可能是一行中的所有单元格 - 但这是您可以检查的方法。

将此行添加为函数的第一行:

Logger.log("rowToFormat = " + JSON.stringify(rowToFormat));

...然后运行,您的错误。检查日志 - 你想看看你得到一个简单的字符串。如果你得到一个数组,那么你知道你需要修复什么。(也许你毕竟想得到数组!)

于 2013-12-09T05:32:28.737 回答