为了账号安全,请及时绑定邮箱和手机立即绑定

在javascript中打印数字序列

在javascript中打印数字序列

牧羊人nacy 2023-10-14 18:23:44
我确信这是一个非常简单的编程问题,但是我似乎无法理解它......我试图让 console.log 打印出这样的数字 - 1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4 - 每行一个。我认为可以使用模来实现这一点,但是,我似乎不知道如何使用它。这是代码:iteration = 16;for (var i = 0; i < iteration; i++) {    if(i == iteration%4 )    console.log(i);}
查看完整描述

2 回答

?
FFIVE

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

}


查看完整回答
反对 回复 2023-10-14
?
海绵宝宝撒

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);


不清楚你想要的输出,所以我有点偏离主题,并为我想到的不同情况做了一个例子。


查看完整回答
反对 回复 2023-10-14
  • 2 回答
  • 0 关注
  • 121 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信