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);
不清楚你想要的輸出,所以我有點偏離主題,并為我想到的不同情況做了一個例子。
添加回答
舉報