Google apps script 如何在将在数组中工作的方法中设置参数?(谷歌应用程序脚本)

Google apps script 如何在将在数组中工作的方法中设置参数?(谷歌应用程序脚本),google-apps-script,Google Apps Script,因此,我尝试创建一个方法,该方法具有一个参数,可用于指定数组的索引 我曾经 var doc = DocumentApp.getActiveDocument(); var paragraph = doc.getBody().getParagraphs(); function Parry(indx) { paragraph[indx].getText(); } body.appendParagraph(Parry(2)); 最初在文件里有一堆文字 黄色的 红色 橙色 紫色的 然后

因此,我尝试创建一个方法,该方法具有一个参数,可用于指定数组的索引

我曾经

var doc =  DocumentApp.getActiveDocument();
var paragraph = doc.getBody().getParagraphs();

function Parry(indx) {
    paragraph[indx].getText();
  }

body.appendParagraph(Parry(2));
最初在文件里有一堆文字

黄色的 红色 橙色 紫色的

然后它说未定义的

这是有效的:

只需运行testParry()


虽然库珀的回答没有错,但我想在这里谈谈主要问题

首先,您缺少主函数中的
return
语句,如果未使用
return
,那么您的变量将完全为“空”,然后
将“未定义”
添加为段落

function Parry(indx) {
  paragraph[indx].getText();
}
Logger.log(Parry(2)); // undefined
但是添加
return
使其成为“有效”值


关于一位库珀评论的说明

但我看到的问题是,函数中没有定义段落

部分是正确的,如果没有理由将变量设置为全局变量,请将它们创建为局部变量(在函数内部)。但是,为什么要将变量创建为全局变量,可能有一些原因


看看

“然后它说未定义”。。。您传递了什么值以获得未定义?它是一个有效的索引吗?但是为什么添加return会改变它呢?如果没有return,则不会向调用函数返回任何内容。但我看到的问题是,函数中没有定义段落。
function Parry(indx) {
  paragraph[indx].getText();
}
Logger.log(Parry(2)); // undefined
function Parry(indx) {
  return paragraph[indx].getText();
}
Logger.log(Parry(2)); // <Your text in 3rd paragraph>
var doc =  DocumentApp.getActiveDocument();
var body = doc.getBody();
var paragraph = body.getParagraphs();

function Parry(indx) {
  return paragraph[indx].getText();
}

body.appendParagraph(Parry(2));