El problema
Tengo un conjunto de datos que abarca columnas vacías. Este conjunto de datos se obtiene mediante getValues() de un rango definido. Dado que almacenaré este conjunto de datos, me gustaría eliminar las columnas vacías antes de eso y, por lo tanto, estas columnas deben eliminarse.
Ejemplo de conjunto de datos
[ ["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] ]El fragmento de código malvado (para mí)
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) } }También probé este (tomado de @nnnnnn), pero no puedo modificarlo para satisfacer la demanda aquí. Lo más probable, porque estamos tratando con diferentes dimensiones aquí...
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);Rendimiento esperado:
[ ["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] ]¡Agradezco cualquier ayuda!
Un simple combo de mapa/filtro lo haría
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)