如何使用for循环来计算数字?

时间:2015-11-26 05:00:36

标签: javascript for-loop

我需要向上计数数字并打印出一个字符串“then”之间:5然后6然后7然后......就像这样。当你返回时,我对使用参数vs函数名称感到很困惑。我的代码在下面..但有人可以帮忙吗?

function countUp(start) {
  start +=    
  for(var i = start; i < start + 10; i++) {
    console.log(start[i] + "then");
  }
  return start;
}

3 个答案:

答案 0 :(得分:1)

我会做这样的事情:

function countSheep(limit){
    for (var i = 1; i < limit; i +=1){
        console.log(i + " sheep")
    }
}

countSheep(10);

我使用“羊”代替“然后”,但你明白了。既然你只想产生副作用(打印出“1然后2 ......”到控制台,你就不需要建立一个字符串然后让你的函数返回它。

如果你确实想要建立一个字符串然后让你的函数返回它,你可以做一些这样的事情:

function countSheep(limit){

    var allMySheep = "";

    for (var i = 1; i < limit; i +=1){
        allMySheep += (i + " sheep, ") 
    }

    return allMySheep;
}

console.log(countSheep(10));

注意:我在1(var i = 1)开始循环,因为我在数羊,而不是数字。你可能想要从0开始(var i = 0)。

答案 1 :(得分:0)

我们也可以使用JavaScript join函数来实现这一点 代码

function getCountStr(count) {
    var str =[];
    for (var i = 1; i <= count; i++) {
        str.push(i);
    }
   console.log(str.join(' then '));
}  

答案 2 :(得分:0)

您的代码存在一些问题

function countUp(start) {
  start +=      // <<<<< what's this? It's an incomplete (and useless) statement
  for(var i = start; i < start + 10; i++) {
    console.log(start[i] + "then");
    //          ^^^^^^^^ why are doing this? you should only write i
  }
  return start; // you don't need to return anything
}

代码中已清理且工作的版本

function countUp(start) {
  for(var i = start; i < start + 10; i++) {
    console.log(i + " then ");
  }
}

但是这段代码会在1 then 2 then之类的末尾有一个额外的'then',所以这里有一个代码来处理这个

function countUp(start) {
  // a temporary array to store your numbers
  var tmpArr = [];
  for (var i = start; i < start + 10; i++) {
    // store the count into the array
    tmpArr.push(i);
  }
  // display the count by putting ' then ' between each number
  var stringToDisplay = tmpArr.join(' then ');
  console.log(stringToDisplay);
  document.write(stringToDisplay);
}

countUp(1);