当前位置: 首页 > 知识库问答 >
问题:

javascript - js for循环怎么实现如下输出?

公羊浩阔
2024-03-27

js for循环怎么实现如下输出

let arr = new Array(10)for(let i = 0; i < arr.length; i++){  // 循环打印输出如下   // [1,1,1,2,2,2,3,3,3,4]  三个三个一组  // [1,2,3,1,2,3,1,2,3,1]  1 2 3一组}

共有3个答案

岳劲
2024-03-27
let arr1 = new Array(10).fill(0); // 创建长度为10的数组,并填充为0let arr2 = new Array(10).fill(0);// 第一种情况:三个三个一组for (let i = 0; i < arr1.length; i++) {  arr1[i] = Math.floor(i / 3) + 1; // 通过除以3取整来确定每组的数字}console.log(arr1); // 输出 [1, 1, 1, 2, 2, 2, 3, 3, 3, 4]// 第二种情况:1 2 3一组for (let i = 0; i < arr2.length; i++) {  arr2[i] = (i % 3) + 1; // 使用取余运算确定每组的数字}console.log(arr2); // 输出 [1, 2, 3, 1, 2, 3, 1, 2, 3, 1]
徐鑫鹏
2024-03-27
console.log(new Array(10).fill(0).map((_, i) => Math.ceil((i + 1) / 3)))console.log(new Array(10).fill(0).map((_, i) => (i % 3) + 1))
孔睿
2024-03-27

要实现这样的输出,你可以通过嵌套循环来实现。外层循环控制组数,内层循环控制每组内的数字。下面是一个示例代码,展示了如何使用JavaScript的for循环来实现这两种输出:

let arr = new Array(10);// 输出 [1,1,1,2,2,2,3,3,3,4]for (let i = 1; i <= 4; i++) {  for (let j = 0; j < 3 && i <= 4; j++) {    arr[j + (i - 1) * 3] = i;  }}console.log(arr); // [1, 1, 1, 2, 2, 2, 3, 3, 3, 4]// 重置数组arr = new Array(10);// 输出 [1,2,3,1,2,3,1,2,3,1]for (let i = 0; i < 10; i++) {  arr[i] = Math.ceil((i + 1) / 3);}console.log(arr); // [1, 2, 3, 1, 2, 3, 1, 2, 3, 1]

在第一个输出中,外层循环控制从1到4的循环,内层循环则在每次外层循环时,将当前循环变量i的值赋给数组arr的相应位置,位置计算方式为(i - 1) * 3 + j,这样就实现了每三个元素为一组,每组元素值相同的输出。

在第二个输出中,使用Math.ceil((i + 1) / 3)来计算每个位置的值。这个表达式的意思是将当前位置i加1后除以3,并使用Math.ceil函数向上取整。由于i从0开始,所以前三个位置的值为1,接下来的三个位置的值为2,以此类推,实现了1、2、3一组循环输出的效果。

 类似资料:
  • “输入一个单词或者按‘Q’退出”但是我不知道怎么做。我觉得有点困惑。 这是我第一次用Java编码,我还在学习。

  • 宽度不定,图片和主要参建单位居中对齐,右边文字可以换行但是第一行和参建单位对齐

  • 请教各位大佬,这个tourcard小程序中有个循环轮播的步骤条,这个是怎么实现的? 小程序://TourCard/aILAuCnN3ewrXwu

  • 问题内容: boolean r = false ; int s = 0 ; while (r == false) ; { s = getInt() ; if (!(s>=0 && s<=2)) System.out.println (“try again not a valid response”) ; else r = true ; } 即使输入3或123,循环也不会终止,文本也不会显示。怎么了

  • 我有两个循环。在第一个循环中,我分割字段(分割)。在第二个循环中,我想打印新的字段值。只有0。我想知道循环有什么问题。我没有发现错误。:)我认为问题出在这方面: 我在Windows 7中使用Visual Studio 2013编程。 %lf输出(正确): %f输出(不正确):

  • vue3实现红包雨怎么实现呢? vue3实现红包雨怎么实现呢?