Estoy trabajando en un GAS que toma un rango de datos de la Hoja (columnas + filas) solo para devolver una selección de columnas. La selección de columnas se realiza a partir de los elementos de un arreglo.
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 exampleLo que necesito poder hacer es recuperar lo que hay en los datos de estos encabezados en mySelection. Realmente no necesito los encabezados, sino construir una nueva matriz que tenga los datos de todas las columnas que elijo.
Estoy intentando varias cosas diferentes, pero realmente no funciona hasta ahora (en mi hoja real, tengo cientos de filas, por supuesto).
Gracias si puedes ayudar,
En su situación, ¿qué tal el siguiente script de muestra?
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)