【问题标题】:Iterating through an array in javascript + returning the sum?遍历javascript中的数组+返回总和?
【发布时间】:2015-09-20 11:21:15
【问题描述】:

没有要求你做我的作业,只是有点困惑,无法在任何地方找到解决方案,想知道你是否能告诉我我的代码有什么问题?

问题:迭代一个数组 编写一个函数,将数组作为参数并遍历数组的每个成员并返回所有值的总和。能够遍历数组的每个成员是非常重要的。在继续下一个算法挑战之前,一遍又一遍地(不到 2 分钟)这样做。 (测试用例:[0]返回0,[1,2,5]返回8,[-5,2,5,12]返回14)

我的代码:

function iterArr(arr) {
  //your code here 
  var s = new Array();
  a[0]=0;
  a[1]=[1+2+5];
  a[2]=[-5+2+5+12];

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

【问题讨论】:

  • 很抱歉。这是我第一次发帖。
  • 一般用carrot(>)来贴错误,4个空格用来贴代码。
  • 你的测试用例和你的代码是不同的。你的测试用例声明[1,2,5],但你的代码有[1+2+5]。你看得到差别吗?此外,您下面的“答案”不是答案,应复制到您的问题中。请阅读How to Ask 并使用tour
  • 迈克,以后会做的。我也将其更改为 [1,2,5] 等,但它仍然以未定义的方式运行。我错过了什么吗?

标签: javascript arrays iteration


【解决方案1】:

所以你的数组(s)永远不会用任何东西初始化,所以 for 循环永远不会运行。 sum 也从未初始化,因此它将返回未定义。如果您将 for 循环更改为遍历 arr.length 并初始化 sum,您的代码就接近完成了。

function iterArr(arr) {
  //your code here 
  var sum = 0;

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

console.log(iterArr([1,2,5]));

【讨论】:

  • 哇,我智障了。谢谢你的帮助。我仍然不确定如何让单独的测试用例在单独的行上运行。
  • 添加多个console.log(iterArr(/**some array here**/));
猜你喜欢
  • 2016-10-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-23
  • 2011-08-16
  • 2014-04-14
  • 2021-12-16
相关资源
最近更新 更多