Попытка написать функцию armstrong. Я использовал хром для отладки и обнаружил, что он бомбит на val1, когда я пытаюсь назначить результат pow. Я попробовал как с массивом [element], так и с массивом [element] .value, но это тоже не понравилось.Параметры javascript pow - цифры Армстронга
//Armstrong numbers
function armstrong() {
var numberStr = document.getElementById('inputNumber').value;
var numberInt = parseInt(numberStr);
var arrayOfNum = numberStr.split('');
var val1, val2, val3, total = 0;
var displayResult = document.getElementById('displayResult');
for (i = 0; i < arrayOfNum.length; i++) {
arrayOfNum[i] = parseInt(arrayOfNum[i]);
}
if (arrayOfNum.length === 3) {
val1 = Math.pow(arrayOfNum[0], 3);
val2 = Math.pow(arrayOfNum[1], 3);
val3 = Math.pow(arrayOfNum[2], 3);
total = val1 + val2 + val3;
if (total === numberInt) {
//display msg that number is armstrong
displayResult.innerHTML = "Your number " + numberInt + " is an Armstrong Number.";
} else {
//display msg that not armstrong
displayResult.innerHTML = "Your number " + numberInt + " is NOT an Armstrong Number.";
}
} else {
// display msg to enter a 3 digit number
displayResult.innerHTML = "You must enter a 3 digit number.";
}
}
выше код был отредактирован, чтобы показать решение. Я внедрил предложение Мухаммада, а также проанализировал начальное значение как целое число, оно хранило его как строку, даже несмотря на то, что значение было использовано, а элемент имел номер типа. – JReam