我有一张纸,需要获取某一列的值(电子邮件地址),在这种情况下为C。假设该列中有三封电子邮件。日志给我:
“ [[[email1],[email2],[email3]]”
为了继续执行脚本,我需要使数组看起来像这样:
“ [电子邮件1,电子邮件2,电子邮件3]”
因此没有外部括号。我知道可以通过在“ .getValues()”后面添加“ [0]”来仅定位“ [email1]”。我尝试了类似“ [[all]]”的方法,但没有成功。我必须改变什么? 我知道,这可能很基础,但是我绝对是新手,感谢您的帮助。
function myFunction() {
// Variables
var id = "ID";
var spreadSheet = SpreadsheetApp.openById(id);
var inputSheet = spreadSheet.getSheetByName("inputSheet");
var inputLR = inputSheet.getLastRow();
var emailsAll = inputSheet.getRange(2, 3, inputLR).getValues();
Logger.log(emailsAll);
}
答案 0 :(得分:3)
尝试Array#map
或Array#forEach
var em = emailsAll.map(function(e){return e[0];});//[[e],[e],[e]]=>[e,e,e]
答案 1 :(得分:1)
getValues()
返回表示范围内行和列的二维数组。
在developer reference中了解更多信息。
遍历此数组以访问值。
for(var row=0;row<emailsAll.length;row++){
for(var col=0;col<emailsAll[row].length;col++){
var cellValue = emailsAll[row][col];
Logger.log(cellValue);
}
}
纯js中的示例:
var emailsAll = [["email1"],["email2"],["email3"]];
for(var row=0;row<emailsAll.length;row++){
for(var col=0;col<emailsAll[row].length;col++){
var cellValue = emailsAll[row][col];
console.log(cellValue);
}
}