我用这个添加代码做错了什么

What am I doing wrong with this addition code?

本文关键字:错了 什么 代码 添加      更新时间:2023-09-26
  var addition=function(num){
    var sumSoFar=0;  
    for(var i=1;i<=num;i++)
        {
         sumSoFar+=num[i];
         return sumSoFar;
         }
         };
        console.log(addition(5));

我不久前用一段时间循环写了这个。它应该随机 (num) 并返回从 1 到 (num) 的所有数字的总和,我只是没有弄清楚我在 for 循环中做错了什么

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

  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;
  };

并继续阅读算术级数

您的返回在 for 循环内 - 它应该在外面。

你在循环中间放了一个return语句。这将导致函数在第一次通过那里时返回。

如果num是一个数字,那么num[i]没有任何意义。您只需要添加 i .

你想这样做吗:

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
     };