如何在谷歌应用程序脚本getRespondentEmail后获得唯一值?



我一直在尝试没有成功地从数组中获得唯一的值,创建数组后从getRespondentEmail在谷歌应用程序脚本。我试过使用set方法,forEach等,每次它返回一个空数组或空花括号。这是我的代码的一个示例:

function test(){
var form = FormApp.openById('...');
form.setCollectEmail(true);
var formResponses = form.getResponses();
var getEmails = [];
var uniqueResponses = [...new Set(getEmails)];
for (var i = 0; i < formResponses.length; i++) {
var formResponse = formResponses[i];
var oneEmail = formResponse.getRespondentEmail();
getEmails.push(oneEmail);
}
Logger.log(uniqueResponses);
}

有谁知道问题是什么吗?我卡住了。非常感谢。

在您的脚本中,如何修改以下内容?

修改脚本:

function test(){
var form = FormApp.openById('...');
form.setCollectEmail(true);
var formResponses = form.getResponses();
var getEmails = [];
for (var i = 0; i < formResponses.length; i++) {
var formResponse = formResponses[i];
var oneEmail = formResponse.getRespondentEmail();
getEmails.push(oneEmail);
}
var uniqueResponses = [...new Set(getEmails)];
Logger.log(uniqueResponses);
}
  • 在您的脚本中,当var uniqueResponses = [...new Set(getEmails)]运行时,getEmails没有值。这样,问题就出现了。在本次修改中,getEmails有对应值后,改为var uniqueResponses = [...new Set(getEmails)]。这样,重复的值将被删除。
  • 参考:

最新更新