使用 While 循环 JS 对数组求和

Sum for array with While loop JS

我尝试制作一个 while 循环,将数组的所有数字加到一个总和中。我一直在无限循环。我也尝试过 (array.length) (array.length --) (array.length>numbers) 但是我尝试过的都没有用……有什么建议吗? :)

function sumNumbersWhileLoop(array, sum) {
  array = [1, 5, 4, 6, 7];
  sum = 0;
  for (let numbers of array) {
    while (array.length>0) {
      sum += numbers;

      console.log(sum);
    }
  }
}

您不需要 while 循环。 for...of 循环将迭代数组直到它的长度。

function sumNumbersWhileLoop(array, sum) {
  array = [1, 5, 4, 6, 7];
  sum = 0;
  for (let numbers of array) {
      sum += numbers;
  }
  console.log(sum)
}

sumNumbersWhileLoop();

如果你想使用while,或者reduce,那么你可以这样做:

function sumNumbersWhileLoop() {
  const array = [1, 5, 4, 6, 7];
  let len = array.length - 1;
  let sum = 0;
  while (len >=0) {
    sum += array[len--];
  }
  console.log(sum);

  // Or use reduce :
  const reduceSum = array.reduce((acc, item) => acc + item, 0);
  console.log(reduceSum);
}

sumNumbersWhileLoop();

你可以试试这个:

function sum(arr, sum) {
    arr = [1, 5, 4, 6, 7];
    sum = 0;
    while (arr.length > 0) {
        sum += arr.pop();
    }
    return sum;
}
console.log(sum());