Estoy tratando de analizar una matriz 2D, eliminar celdas vacías y luego empujarlas a una nueva matriz 2D. Cuando realizo el paso .push([]) antes de la declaración IF, todo funciona bien, pero desafortunadamente eso empuja una matriz vacía en cada iteración del bucle for. Cuando trato de poner esa línea dentro de la declaración If, aparece el siguiente error: TypeError: Cannot read property 'push' of undefined.
Esto no funciona:
var i=0; var oA = []; for(i; i<bRows;i++) { if(nbaValues[i][0]){ oA.push([]); for(var j=0;j<bCol;j++){ oA[i].push(nbaValues[i][j]); } } } Logger.log(oA);
Mientras esto funciona:
var i=0; var oA = []; for(i; i<bRows;i++) { oA.push([]); if(nbaValues[i][0]){ for(var j=0;j<bCol;j++){ oA[i].push(nbaValues[i][j]); } } } Logger.log(oA);
¡Gracias por adelantado!
¿Esto ayuda?
const has_empty = ['a',,'b',,'c' ]; console.log(has_empty); // output ['a', undefined, 'b', undefined, 'c'] const no_empty = has_empty.filter(item => item); console.log(no_empty); // output ['a', 'b', 'c']