2 回答
TA贡献1797条经验 获得超6个赞
是的,您需要一个循环。
不,您不需要余数运算符%
。这会给你
0 1 2 3 0 1 2 3 ...
但您可以将实际值除以4
并取整数值console.log
。
const iteration = 16;
for (let i = 0; i < iteration; i++) {
console.log(Math.floor(i / 4) + 1); // offset for starting with 1
}
TA贡献1809条经验 获得超8个赞
我建议您使用两个嵌套的 for 循环,一个用于行,另一个用于列。
这是我将如何做的一个例子:
const columns = 4;
const rows = 4;
//if you want to just console.log each number on a different line
for (let i = 1; i <= rows; i++) {
for (let j = 1; j <= columns; j++) {
console.log(i);
}
console.log("\n");
}
//if you want to add each number to an array, and then log the array
for (let i = 1; i <= rows; i++) {
let columnsArray = [];
columnsArray.length = columns;
columnsArray.fill(i);
console.log(columnsArray);
}
//if you want to just log the numbers, you can spread the array
for (let i = 1; i <= rows; i++) {
let columnsArray = [];
columnsArray.length = columns;
columnsArray.fill(i);
console.log(...columnsArray);
}
//or you could push the arrays in another one, and get a matrix!
const matrix = [];
for (let i = 1; i <= rows; i++) {
let columnsArray = [];
columnsArray.length = columns;
columnsArray.fill(i);
matrix.push(columnsArray);
}
console.log(matrix);
不清楚你想要的输出,所以我有点偏离主题,并为我想到的不同情况做了一个例子。
添加回答
举报