这个附加代码我做错了什么?

时间:2013-09-08 19:27:21

标签: javascript

  var addition=function(num){
    var sumSoFar=0;  
    for(var i=1;i<=num;i++)
        {
         sumSoFar+=num[i];
         return sumSoFar;
         }
         };
        console.log(addition(5));

我之前用while循环编写了这个。它应该取一个随机(num)并返回从1到(num)Im的所有数字的总和,只是不知道我对for循环做错了什么

4 个答案:

答案 0 :(得分:1)

在for循环中你将返回他的总和,所以你只需返回1!

DO

  var addition=function(num){
    var sumSoFar=0;  
    for(var i=1;i<=num;i++)
        {
         sumSoFar+=i;

         }
    return sumSoFar;
   };
   console.log(addition(5));

如果您只需要1到n之间的i的总和:

  var addition=function(num){
      return (1+num) * num / 2;
  };

并阅读Arithmetic progression

答案 1 :(得分:0)

你的回归在for循环中 - 它应该在外面。

答案 2 :(得分:0)

您已在循环中间放置return语句。这将导致函数在第一次通过时返回。

如果num是一个数字,那么num[i]并不意味着什么。您只需添加i

答案 3 :(得分:0)

你想这样做:

var addition=function(num){
var sumSoFar=0;  
for(var i=1;i<=num;i++)
    {
     sumSoFar+=i;//will add the loop varible to get sum

     }
     return sumSoFar;//also function can return a value only once and not in a loop
     };