如何用一系列数字换行?
How can I wrap with a range of numbers?
我想知道当我的数字列表达到 10 并且他的倍数达到 100 时如何打破这条线。
示例:1 2 3 4 5 6 7 8 9 10
11 12 13 14 15 16 17 18 19 20
...
这是我到目前为止写的
var limit= 100;
var str= "";
for (var i =1; i<=limit; i++){
str += i+ "";
}
console.log(str);
您可以使用余数运算符 (%
) 来确定 i
是否是 10 的倍数,如下所示:
if (i % 10 === 0) {
// Yes, it is
}
请注意,0
也会匹配,但您是从 1
开始的,所以没问题。
因此,在您的循环中,在 ¹ 输出项目之后,使用它来输出换行符(无论您使用的环境中的换行符是什么)。例如(为了清楚起见,我在数字之间添加了空格):
var limit= 100;
var str= "";
for (var i = 1; i <= limit; ++i) {
str += i + " ";
if (i % 10 === 0) {
str += "\n";
}
}
console.log(str);
¹ 在 之后,因为您是从 1
开始的。如果您从 0
开始,它会在之前(并且您需要 i !== 0 &&
在支票上)。
你也可以这样做:
var limit= 100;
var str= "";
for (var i = 1; i <= limit; ++i) {
str += i + ((i % 10) ? " " : "\n");
}
console.log(str);
let str = '';
for(let i =0; i < 100; i++ ) {
const isWrap = (i > 0) && (i % 10 === 0);
str += isWrap ? '\n' : ' ';
str += (i+1);
}
console.log(str);
这是我的,使用Array.from制作数组并映射到分块(切片也可以用于分块)
const makeGrid = lim => Array.from(Array(lim+1).keys()) // make 101
.slice(1) // drop the 0
.map(i => i%10===0?` ${i}\n`:` ${i}`) // map to have a newline
.join("");
console.log(makeGrid(100));
我想知道当我的数字列表达到 10 并且他的倍数达到 100 时如何打破这条线。
示例:1 2 3 4 5 6 7 8 9 10
11 12 13 14 15 16 17 18 19 20
...
这是我到目前为止写的
var limit= 100;
var str= "";
for (var i =1; i<=limit; i++){
str += i+ "";
}
console.log(str);
您可以使用余数运算符 (%
) 来确定 i
是否是 10 的倍数,如下所示:
if (i % 10 === 0) {
// Yes, it is
}
请注意,0
也会匹配,但您是从 1
开始的,所以没问题。
因此,在您的循环中,在 ¹ 输出项目之后,使用它来输出换行符(无论您使用的环境中的换行符是什么)。例如(为了清楚起见,我在数字之间添加了空格):
var limit= 100;
var str= "";
for (var i = 1; i <= limit; ++i) {
str += i + " ";
if (i % 10 === 0) {
str += "\n";
}
}
console.log(str);
¹ 在 之后,因为您是从 1
开始的。如果您从 0
开始,它会在之前(并且您需要 i !== 0 &&
在支票上)。
你也可以这样做:
var limit= 100;
var str= "";
for (var i = 1; i <= limit; ++i) {
str += i + ((i % 10) ? " " : "\n");
}
console.log(str);
let str = '';
for(let i =0; i < 100; i++ ) {
const isWrap = (i > 0) && (i % 10 === 0);
str += isWrap ? '\n' : ' ';
str += (i+1);
}
console.log(str);
这是我的,使用Array.from制作数组并映射到分块(切片也可以用于分块)
const makeGrid = lim => Array.from(Array(lim+1).keys()) // make 101
.slice(1) // drop the 0
.map(i => i%10===0?` ${i}\n`:` ${i}`) // map to have a newline
.join("");
console.log(makeGrid(100));