我刚刚开始使用JS并使用while循环停留在打印整数1-20的问题上。每行仅打印五个整数。 任何帮助都会很棒!
我尝试了一些事情,这是最新的事情:
var x=" ";
var i=1;
while (i<=20; i++) {
x=i%5=0; "\n"
}
alert(x);
答案 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)
您需要进行一些语法和逻辑更改,如下所示:
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;
答案 2 :(得分:0)
尝试使用数组存储i
,Array.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用于格式化,您可以删除它并调用它。