Cuando estaba resolviendo un problema en Leetcode, definí una matriz vacía. Intenté presionar algunos números y luego obtuve este error. no sé por qué Mi código aquí.
// r and c are already defined numbers,arr is already defined array. let n = [[]] let index = 0 for (let i = 0; i < r; i++) { for (let j = 0; j < c; j++) { n[i][j] = arr[index] index++; } } return n;Leetcode me dijo que n[i][j] = arr[index] tenía un error;
¿Alguien sabe por qué? Gracias.
Cada vez que el valor de i se convierte en 1, dentro del ciclo interno está configurando el valor en n[i][j], que es n[1][0], aquí n[1] no está definido y está accediendo al índice 0. valor de indefinido, esa es la razón del error.
la primera iteración funciona bien porque ya hay una matriz vacía en el índice 0 (cuando i = 0).
aquí puedes intentar hacer esto
let n = [] let index = 0 for (let i = 0; i < r; i++) { n[i] = []; for (let j = 0; j < c; j++) { n[i][j] = arr[index]; index++; } } return n;