找不到函数填充对象 - 在控制台中工作但不作为宏工作

时间:2018-02-12 19:24:31

标签: javascript google-apps-script google-sheets macros runtime-error

使用Google Apps脚本编写用于Google表格的宏。

我想创建一个填充了零的数组作为计数器,用作人名在电子表格中出现的次数(这样我就可以生成一封电子邮件,告诉他们已经分配了多少文档)。代码从控制台逐步执行,但是一旦我尝试执行该函数,我就出现错误,“TypeError:找不到函数填充对象,,,”。

   function sendEmail(){
     var reviewer = new Array();
     reviewer[0]="Rev1";
     reviewer[1]="Rev2";
     reviewer[2]="Rev3";

     var NewSteward = new Array(reviewer.length).fill(0)
   }

同样,如果我只执行

  var NewSteward = new Array(reviewer.length).fill(0)

在控制台中,我生成了0填充数组,但由于某种原因执行该函数会引发错误。

我刚开始为Google表格(以及javascript)编写脚本,所以请原谅我在穷举搜索后无法回答的基本问题。

1 个答案:

答案 0 :(得分:1)

在Google Apps脚本(GAS)中,无法使用fill()。因为fill()是从ECMAScript 2015(ES6)添加的,而GAS尚未支持ES6。因此,当您使用fill(0)时,您可以使用以下修改过的脚本。

修改后的脚本:

function sendEmail(){
  var reviewer = new Array();
  reviewer[0]="Rev1";
  reviewer[1]="Rev2";
  reviewer[2]="Rev3";

//  var NewSteward = new Array(reviewer.length).fill(0)
  var NewSteward = Array.apply(null, Array(reviewer.length)).map(function(){return 0}); // Modified
}

如果我误解了你的问题,我很抱歉。