Guía y comprobaciones
Un array que contiene otros arrays
Una matriz sencilla se puede representar como una lista de filas. El primer índice selecciona una fila y el segundo una posición dentro de ella. Los índices empiezan en cero.
const notas = [[7, 8], [5, 9]];
console.log(notas[1][0]); // 5
console.log(notas[0].length); // 2
No es obligatorio que todas las filas tengan la misma longitud. Si tu cálculo requiere una matriz rectangular, comprueba esa condición antes de recorrerla. Acceder a una celda que no existe no equivale a leer cero.
Crear filas independientes
Un error habitual es repetir la misma referencia de fila con fill. Usa una función que cree un array nuevo para cada fila:
const tablero = Array.from({ length: 2 }, () => Array(3).fill(0));
tablero[0][1] = 8;
console.log(JSON.stringify(tablero)); // [[0,8,0],[0,0,0]]
Con Array(2).fill(Array(3).fill(0)) ambas posiciones contendrían la misma fila. Al cambiar una celda se vería el cambio desde las dos posiciones. Esto se debe a referencias compartidas, no a que el índice se haya calculado mal.
Recorrer y sumar por fila
Puedes recorrer cada fila con map y reducirla con un valor inicial. Un array vacío produce cero en esta suma.
const valores = [[2, 3], [], [4]];
const totales = valores.map(fila => fila.reduce((suma, n) => suma + n, 0));
console.log(JSON.stringify(totales)); // [5,0,4]
Si los valores llegan de un formulario como cadenas, valida o convierte sus tipos antes de sumarlos: el operador + también concatena texto. Para tablas de personas o productos, una lista de objetos con campos nombrados puede ser más fácil de mantener que recordar que la columna dos representa siempre el precio.
Prueba una fila vacía, una matriz vacía y una celda de valor cero. Define si una fila incompleta debe rechazarse, rellenarse o conservarse; hacerlo explícito evita que una ausencia termine interpretada como una medición real.
Preguntas frecuentes
¿Por qué cambian dos filas a la vez?
Probablemente has guardado la misma referencia de array en ambas. Crea cada fila por separado, por ejemplo con Array.from y una función.
¿Todas las filas deben medir igual?
JavaScript no lo exige. Si tu algoritmo necesita una tabla rectangular, valida la longitud de cada fila.
Continúa con una guía relacionada
Documentación oficial
Fuentes consultadas
Fuentes y referencias
Consulta referencias útiles para ampliar o contrastar esta guía.
Siguiente lectura
Guias relacionadas para continuar
Si quieres seguir con el mismo tema, aqui tienes paginas cercanas que amplian la tecnica, comparan variantes o te llevan a la siguiente rutina.