我正在研究一個 GAS,它從作業表(列 行)中獲取一個 dataRange,只回傳一組列。列的選擇是從陣列中的元素中完成的。
let dtARange = [["Number", "Created", "X", "V", "E", "Name", "Section", "School", "Organisation", "Teacher1","Teacher2","Hour1","Hour2"],
["3","September","x","x","","ThisClass","ThisSection","MySchool","MyOrganisation","Mr John","Mr Paul","Noon","Evening"],
["4","May","","x","","ThisOtherClass","ThisOtherSection","MyOtherSchool","MyOtherOrganisation","Mr Favreau","Mr Vinx","Noon","Evening"]];
let [headers,...data] = dtARange;
//I have headers and data. Now I have a selection that comes in an array
let mySelection = ["Number","Name","School","Teacher1"]; // for example
我需要做的是從 mySelection 中的這些標頭中檢索資料中的內容。我真的不需要標題,而是構建一個新陣列,其中包含我選擇的所有列的資料。
我正在嘗試幾種不同的方法,但到目前為止并沒有真正奏效(在我的真實作業表中,我當然有數百行)。
能幫忙的話謝謝
uj5u.com熱心網友回復:
在您的情況下,以下示例腳本怎么樣?
示例腳本:
let dtARange = [["Number", "Created", "X", "V", "E", "Name", "Section", "School", "Organisation", "Teacher1", "Teacher2", "Hour1", "Hour2"],
["3", "September", "x", "x", "", "ThisClass", "ThisSection", "MySchool", "MyOrganisation", "Mr John", "Mr Paul", "Noon", "Evening"],
["4", "May", "", "x", "", "ThisOtherClass", "ThisOtherSection", "MyOtherSchool", "MyOtherOrganisation", "Mr Favreau", "Mr Vinx", "Noon", "Evening"]];
let [headers, ...data] = dtARange;
let mySelection = ["Number", "Name", "School", "Teacher1"]; // for example
// I added below script.
const indexes = mySelection.map(e => headers.indexOf(e));
const res = data.map(r => indexes.map(c => r[c]));
console.log(res)
參考:
- 地圖()
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/410882.html
標籤:
