如何使用 GAS 从数组的数组中删除多个元素?

How to remove multiple elements from arrays of an array using GAS?

问题

我有一个包含空列的数据集。该数据集是通过定义范围的 getValues() 获得的。由于我将存储此数据集,因此我想在此之前删除空列,因此需要删除这些列。

数据集示例

[
["120/1","2022-02-01T03:00:00.000Z","2022-02-01T03:00:00.000Z","Cartão Crédito","","Sicredi","","Visa","","1 + 6x","","1 de 7",100],
["120/2","2022-02-01T03:00:00.000Z","2022-03-01T03:00:00.000Z","Cartão Crédito","","Sicredi","","Visa","","1 + 6x","","2 de 7",100]
]

邪恶的代码片段(对我来说)

const colsVazias = [11, 9, 7, 5];//"Columns/elements" to be removed
    for (let i = colsVazias.length - 1; i >= 0; i--) {
      for (let r = 0; r < pagtos.length; r++) {
        pagtos[r].splice(colsVazias[i], 1)
      }
    }

我也试过这个(借自@nnnnnn),但我不能调整它来满足这里的需求。最有可能的是,因为我们在这里处理不同的维度...

var valuesArr = ["v1","v2","v3","v4","v5"],
    removeValFromIndex = [0,2,4];    

for (var i = removeValFromIndex.length -1; i >= 0; i--)
   valuesArr.splice(removeValFromIndex[i],1);

预期输出:

[
["120/1","2022-02-01T03:00:00.000Z","2022-02-01T03:00:00.000Z","Cartão Crédito","Sicredi","Visa","1 + 6x","1 de 7",100],
["120/2","2022-02-01T03:00:00.000Z","2022-03-01T03:00:00.000Z","Cartão Crédito","Sicredi","Visa","1 + 6x","2 de 7",100]
]

感谢任何帮助!

一个简单的 map/filter 组合就可以了

let pagatos = [
["120/1","2022-02-01T03:00:00.000Z","2022-02-01T03:00:00.000Z","Cartão Crédito","","Sicredi","","Visa","","1 + 6x","","1 de 7",100],
["120/2","2022-02-01T03:00:00.000Z","2022-03-01T03:00:00.000Z","Cartão Crédito","","Sicredi","","Visa","","1 + 6x","","2 de 7",100]
];

let remove = [10, 8, 6, 4]
pagatos = pagatos.map(p => p.filter((v,i) => !remove.includes(i)))
console.log(pagatos)