1.3 KiB
		
	
	
	
	
	
	
	
			
		
		
	
	
			1.3 KiB
		
	
	
	
	
	
	
	
title, localeTitle
| title | localeTitle | 
|---|---|
| Use Caution When Reinitializing Variables Inside a Loop | Tenga cuidado al reinicializar variables dentro de un bucle | 
Tenga cuidado al reinicializar variables dentro de un bucle
- Este desafío debe resolverse redefiniendo el alcance de la row[].
- A continuación se muestra un ejemplo de la matriz deseada.
[ 
 [0][0], 
 [0][0], 
 [0][0] 
 ] 
- Sin embargo, la matriz actual, que se ve a continuación, está lejos de la matriz deseada
[ 
 [0][0][0][0][0][0], 
 [0][0][0][0][0][0], 
 [0][0][0][0][0][0] 
 ] 
- Este error se produce debido a que la matriz row[]se declara como una variable global fuera del bucle anidado.
- Sin embargo, para rellenar la matriz correctamente, la row[]debe restablecerse después de cada iteración del bucle externo.
Solución
function zeroArray(m, n) { 
  let newArray = []; 
  for (let i = 0; i < m; i++) { 
     let row = []; /* <-----  row has been declared inside the outer loop. 
     Now a new row will be initialised during each iteration of the outer loop allowing 
     for the desired matrix. */ 
    for (let j = 0; j < n; j++) { 
 
      row.push(0); 
    } 
    newArray.push(row); 
  } 
  return newArray; 
 } 
 let matrix = zeroArray(3, 2); 
 console.log(matrix);