【问题标题】:Combining for loops, changing to "while loop", keeping function结合for循环,改为“while循环”,保持函数
【发布时间】:2016-11-17 22:21:10
【问题描述】:

有没有一种简单的方法可以将这三个循环合二为一?然后将它们更改为“while 循环”,同时保持相同的功能?

我已经尝试将数据转换成这样:

{ run = true; counter = 1; while (run == true) /* or while (run) */ {document.write (counter);
counter++; if (counter > 3) run = false; } // end loop /* How many times will this loop go? */ }

但只能得到一个空白页。

这是原始的“for循环”代码;

//numbers divisible by 5
for (i=1; i<=50; i++)  {
if (i%5 == 0) document.write ("number divisible by five is:  " + i + "<br />") ;
} //for
document.write  ("========================<br />");  //seperator

//numbers divisible by 7
for (i=1; i<=50; i++)  {
if (i%7==0) && (i%2!=0) ) document.write ("number divisible by seven is:  " + i + "<br />") ;
} //for
document.write  ("========================<br />");  //seperator

//numbers divisible by 9
for (i=1; i<=50; i++)  {
if (i%9==0) && (i%2==0) ) document.write ("number divisible by nine is:  " + i + "<br />") ;
} //for
document.write  ("========================<br />");  //seperator

【问题讨论】:

  • 为您使用的语言添加标签。还要写下您尝试过的/遇到的错误。
  • 您可以将第二个和雷神循环中的代码放入第一个。不知道你把循环改成while循环是怎么想的
  • 为什么要删除/保留 7 和 9 的偶数?
  • 我投票结束这个问题,因为它本质上是代码高尔夫。

标签: javascript loops for-loop


【解决方案1】:

如果要合并循环,请将三个 if 语句放在一个循环中,从 1 到 50。

要将for循环转换为while循环,直接翻译是这样的

 i = 1;  // variable 
while ( i<=50)  {  // condition 
    if (i%5 == 0) document.write ("number divisible by five is:  " + i + "<br />") ;
    // more if statements 
    i++;  // increment 
 } 

【讨论】:

    【解决方案2】:

    也许试试这个?

    var divisions = {
        five: [],
        seven:[],
        nine: []
    };
    
    for(i = 1; i <= 50; i ++;){
        if(i % 5 == 0) divisions.five.push(i);
        if((i % 7 == 0) && (i % 2 != 0)) divisions.seven.push(i);
        if((i % 9 == 0) && (i % 2 == 0)) divisions.nine.push(i);
    }
    
    divisions.five.forEach(function(number){
        document.write('number divisible by 5 is:' + number);
    });
    
    document.write  ("========================<br />");  //seperator
    
    divisions.seven.forEach(function(number){
        document.write('number divisible by 7 is:' + number);
    });
    
    document.write  ("========================<br />");  //seperator
    
    divisions.nine.forEach(function(number){
        document.write('number divisible by 9 is:' + number);
    });
    
    document.write  ("========================<br />");  //seperator
    

    这个我没测试过,这里的文本框里写的,你应该明白了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-13
      • 2017-09-26
      • 1970-01-01
      • 1970-01-01
      • 2014-03-15
      • 2012-12-03
      • 2021-03-06
      • 2020-09-17
      相关资源
      最近更新 更多