每行打印整数1-20,每组五个

时间:2015-10-17 14:17:29

标签: javascript

我刚刚开始使用JS并使用while循环停留在打印整数1-20的问题上。每行仅打印五个整数。 任何帮助都会很棒!

我尝试了一些事情,这是最新的事情:

var x=" ";
var i=1;
while (i<=20; i++) {
    x=i%5=0; "\n"
}
alert(x);

4 个答案:

答案 0 :(得分:1)

对于像这样的非常基本的JavaScript,它可能有助于使用控制台而不是为网页编写代码。理想情况下,您使用console.log()编写了一堆程序,然后编写了一堆操作和生成DOM元素的程序,您将完全跳过尴尬的阶段。 alert()document.write()Eloquent JavaScript是一本我按照这种方式遵循的书。

在任何情况下,这里有三个关于你描述的循环。第一个与你的尝试非常相似。另外两个输出输出行一次,但它们的循环逻辑差别很大。

console.log('\nloop one')
;(function() {
  var x = '',
      i = 1
  while (i <= 20) {
    x += i
    x += i%5 ? ' ' : '\n'
    i++
  }
  console.log(x)
})()

console.log('\nloop two')
;(function() {
  var line = ''
  for (var i = 1; i <= 20; i++) {
    line += i + ' '
    if (i % 5 === 0) {
      console.log(line)
      line = ''
    }
  }
})()


console.log('\nloop three')
;(function() {
  for (var i = 1, line = ''; i <= 20; line = '') {
    for (var j = 0; j < 5; j++)
      line += i++ + ' '
    console.log(line)
  }
})()

node example,以上所有文件名为&#39;示例&#39;,产生此输出:

loop one
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20


loop two
1 2 3 4 5 
6 7 8 9 10 
11 12 13 14 15 
16 17 18 19 20 

loop three
1 2 3 4 5 
6 7 8 9 10 
11 12 13 14 15 
16 17 18 19 20 

答案 1 :(得分:0)

您需要进行一些语法和逻辑更改,如下所示:

&#13;
&#13;
var i=1;
while (i<=20){
 var x=i%5; // checks for 5 numbers in a line
 
 if(x==0) 
  document.write(i+",<br>"); // give a break if 5 numbers on line
 else
   document.write(i+","); 
 i++;  

};
&#13;
&#13;
&#13;

答案 2 :(得分:0)

尝试使用数组存储iArray.prototype.splice()

的值

var x = []
, i = 1
, len = 5
, max = 20;

while (i <= max) {
  x.push(i++); --len;
  if (len === 0 && x[x.length - 1] !== max) {
    x.splice(x.length, 0, "\n");
    len = 5
  }
}
console.log(x);
alert(x.join(" "));

答案 3 :(得分:0)

这是我的版本:

http://jsbin.com/pamaledopi/1/edit?js,console

别忘了打开F12! (确保已打开控制台并单击&#34;运行&#34;)

_padEmpty用于格式化,您可以删除它并调用它。