javascript - 在 JavaScript 中添加数组

标签 javascript arrays

如何使用循环将数组的总和加在一起,并且它只会输出数组的总和?

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因为您要超出数组范围并添加值 undefinedsumOfNumbers 。数组中的最后一个元素比其长度小 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/

相关文章:

javascript - 数组中的随机图像显示图像标签错误

javascript - 如何检查元素是否使用 javascript 聚焦子元素?

javascript - Uncaught Error : No define call in require. js

javascript - 尝试将innerText动态附加到数组中的标签元素

c++ - 比较两个 char 多维数组

arrays - 使用 Swift 中的 Parse 中的 objectID 和数据加载字典

c - 错误: expected expression before ‘=’ token

javascript - AWS API Gateway JS SDK获取HTTP响应代码

javascript - 同时检查两个不同的数字以 0 为模(Javascript)

javascript - angularjs 如何使用 ng-repeat 创建 div 堆栈