[英]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);
预期 output:
[
["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 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)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.