Podążam za pierwszą i drugą odpowiedzią tutaj. Odjęłem wtedy średnią z wartości console.log()
to sprawdzić. Następnie używam a for-loop
do iteracji poprzez każdą wartość, jak:
for (var i = 0; i < myArray.length; i++) {
Math.pow(squaredArray[i], 2);
};
Otrzymuję również błąd zmiennoprzecinkowy, który wygląda, kiedy dodałem for-loop
aby wyrównać wartości.
Co ja robię źle?
Odpowiedzi:
1 dla odpowiedzi № 1Wygląda na to, że próbujesz przechwycić wartości w myArray, wyrównać je i zapisać w kwadracie Array.
for (var i = 0; i < myArray.length; i++) {
squaredArray[i] = Math.pow(myArray[i], 2);
};
"Błąd zmiennoprzecinkowy" wynika z tego, że próbujesz to zrobić:
Math.pow(undefined, 2);
0 dla odpowiedzi nr 2
Jeśli nie masz pewności co do danych wejściowych, możesz zabezpieczyć się przy obsłudze wyjątków:
for (var i = 0; i < myArray.length; i++) {
try {
squaredArray[i] = Math.pow(squaredArray[i], 2);
}
catch (e) {
console.log("input [" + i + "] " + squareArray[i] + " caused an exception!");
console.log(e);
}
};
Twój oryginalny kod również był kwadratowy, ale nic z nim nie robił, więc mogłem przydzielić wynik samemu sobie.