我需要从 Google 表格中提取的数组中返回几列。目前我的代码是
let out = data.map(function (row, index) {
return [row[1], [row[0], [row[36], [row[6], [row[45], [row[46], [row[47], [row[7]]});
这段代码运行良好。但需求发生了变化,报告每周都会有不同的栏目。它将始终具有我需要的列,但这些列的位置会发生变化。我可以通过
获取列号const colHeaders = ["Full Name","EID","Email - Work","Management Level"];
...
let sheetHeaders = sheet.getRange(1,1,1,sheet.getLastColumn()).getValues().flat();
let out = [];
for (let i in colHeaders){
out.push(sheetHeaders.indexOf(colHeaders[i]));
}
但我不知道如何使用标题位置列表来返回完整的列。
您可以将列号数组映射到这些列中的值。
let colnums = colHeaders.map(h => sheetHeaders.indexOf(h));
//...
let out = data.map((row, index) => colnums.map(col => row[col]))