var array = [];
getNum();
document.write(array);
document.write("<br>Sum: " + sum(array));
//Function to Sum Array
function sum(params){
var total = 0 ;
for (i = 0; i < params.length; i++){
total += params[i];
}
return total;
}
//Function to get Numbers in Array
function getNum(){
var count = 0;
alert("Please enter 5 numbers");
while(count < 5) {
array[count] = prompt("Number " + (count + 1));
count++;
}
}
電流輸出在數組中添加數字。得到奇怪的輸出。 JavaScript的
5,4,3,2,1
Sum: 054321
我想要什麼
5,4,3,2,1
Sum: 15
我試圖在用戶添加號碼數組和程序對計算這些數字不同的東西做一個節目。
當我調用sum(array)時;使用預設數組,例如var array = [5,4,3,2,1];求和運行良好,並按預期輸出15。
但是而不是預設陣,當我包括函數來獲取一組數字爲陣,求和輸出是054321.
我想做的陣列計算人工爲我自己理解的緣故,而不是使用reduce();
我在做什麼錯?
您將輸入數字保存爲數組作爲字符串,所以sum函數正在執行字符串連接,您需要先將'prompt()'的返回值解析爲'int',然後再將其添加到數組中。 – jmoerdyk 2014-12-03 23:52:09