Tengo una función con una matriz de números, quiero cuadrarla pero los quiero en el cuadro de matriz como [4,9,16] Cada vez que intento hacer eso, arroja una salida NAN en la consola. Los números vuelven listados como en línea recta.
digit = (num) => { let digits = String(num).split('').map(Number); for (let i = 0; i < digits.length; i++) { let square = Math.pow(digits, 2); console.log(square); } }; digit(234);salida : NaN
digit = (num) => { let digits = String(num).split('').map(Number); for (let i = 0; i < digits.length; i++) { let square = Math.pow(digits[i], 2); console.log(square); } }; digit(234);Salida: 4 9 16
¿Es posible tener mi salida como [4,9,16]?
Lo que desea hacer aquí es modificar la matriz en su lugar, por lo que debe asignar el resultado de Math.pow() a cada elemento de la matriz.
digit = (num) => { let digits = String(num).split("") .map(Number); for(let i = 0; i < digits.length; i++) { digits[i] = Math.pow(digits[i], 2); } console.log(digits); }; digit(234);Después de que se complete el bucle for, cada elemento de la matriz se elevará al cuadrado.
Math.pow() espera dos entradas, las cuales deben ser números (no matrices)
Debe recorrer sus dígitos y enviar los valores a una matriz.
Algo como esto:
function digit(num) { let digits = String(num).split('') .map(Number); let square = [] // Define an empty array outside the loop for(let i = 0; i < digits.length; i++){ square.push(Math.pow(digits[i],2)); //Push each value to the loop } return square; //Return the modified array after the loop } console.log(digit(234)); //Outputs [4, 9, 16]