javascript pow参数 - 阿姆斯特朗数字

时间:2015-04-04 16:56:28

标签: javascript arrays pow

试图写出非常强大的功能。我用chrome来调试,发现当我尝试分配pow的结果时它会在val1上轰炸。我尝试使用array [element]和array [element] .value,但它也不喜欢。

//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.";
}
}

1 个答案:

答案 0 :(得分:1)

你正在使用pow .in javascript它的Math.pow() 将您的代码替换为此

val1 = Math.pow(arrayOfNum[0].value, 3);
val2 = Math.pow(arrayOfNum[1].value, 3);
val3 = Math.pow(arrayOfNum[2].value, 3);