【问题标题】:Simple Array Sum using javascript (single integer)使用 javascript 的简单数组求和(单个整数)
【发布时间】:2020-06-19 09:36:23
【问题描述】:

发现这个总和很难解决:

问题: 给定一个整数数组,求其元素之和。

例如,如果数组 ar = [1,2.3],1+2+3=6 那么返回 6。

功能说明

在下面的编辑器中完成 simpleArraySum 函数。它必须以整数形式返回数组元素的总和。

我试过了:

function simpleArraySum(ar) {
    var sum = 0;
    for (var i = 0; i <ar.length; i++) {
    sum += (ar);
    return sum;
    }
}

输出为:01,2,3,4,10,11

应该是 31。

请帮忙

【问题讨论】:

  • 这能回答你的问题吗? How to find the sum of an array of numbers
  • sum += (ar) 应该做什么? sum 是一个数字,ar 是一个数组。为什么return sum 循环中?
  • 您的代码有两个问题:sum += (ar); 尝试将 数组 ar 添加到 sum。您必须改为访问数组的各个元素(这就是您使用循环的原因)。循环内的return sum; 将在循环的第一次迭代中终止函数(以及循环)。仅在您处理完所有数组元素之后返回总和
  • arr.reduce((a,v) =&gt; a + v ,0)

标签: javascript arrays sum integer


【解决方案1】:

您的代码中有两个问题。你需要改变

sum += (ar);sum += (ar[i]);

以便对该索引处的元素求和,而不是 ar 本身。 return 也应该在循环之外,实际上应该是函数的返回。否则,for..loop 将在第一次执行后返回。

function simpleArraySum(ar) {
  var sum = 0;
  for (var i = 0; i < ar.length; i++) {
    sum += ar[i];
  }
  return sum;
}

console.log(simpleArraySum([1, 2, 3, 4]))

【讨论】:

  • 为什么不在数组的值周围省略 parentese。它是多余的和烦人的,因为它没有理由。
猜你喜欢
  • 2020-02-13
  • 2017-06-18
  • 1970-01-01
  • 2014-04-12
  • 1970-01-01
  • 1970-01-01
  • 2011-08-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多