如何使用循环将数组的总和加在一起,并且它只会输出数组的总和?
function exercise07Part1() {
//declare variables
const MAXIMUM_NUMBER = 10;
var someNumbers;
var sumOfNumbers;
var output;
var counter;
//assign 10 variables to the array
someNumbers = [12,67,90,34,32,67,29,74,49,22];
//assign variable to counter for the loop
counter = 1;
sumOfNumbers = 0;
while (counter <= someNumbers.length) {
sumOfNumbers += someNumbers[counter];
counter++;
}
output = document.getElementById('outputPart1');
output.innerHTML = "Array: [" + someNumbers + "]<br />Sum: " + sumOfNumbers;
}
最佳答案
它正在返回NaN
因为您要超出数组范围并添加值 undefined
至sumOfNumbers
。数组中的最后一个元素比其长度小 1,这意味着您的 while
循环条件应该是 counter < someNumbers.length
而不是counter <= someNumbers.length
。在最后一次迭代中,您访问的是 undefined
值,这导致总和变为 NaN
当您添加它时。
此外,数组的索引是从零开始的,这意味着 counter
需要从 0
开始而不是1
(您正在跳过数组中的第一个值)。
var someNumbers = [12, 67, 90, 34, 32, 67, 29, 74, 49, 22];
var sumOfNumbers = 0;
// Start at '0' rather than '1'
var counter = 0;
while (counter < someNumbers.length) {
sumOfNumbers += someNumbers[counter];
counter++;
}
console.log(sumOfNumbers); // 476
关于javascript - 在 JavaScript 中添加数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33990412/