嵌套循环用星星向上和向下计数

时间:2018-06-22 15:26:15

标签: javascript for-loop

我正在尝试使用嵌套循环来解决任务。我的下面的代码

var n = 5;
var lineOfStars = '';

for (var i = 1; i <= 10; i++) {
  for (var j = 1; j <= n; j++) {
    if (j <= i) { // 1 <= 5 - 1 - 1 (3)
      lineOfStars += ' * ';
    } else {
      lineOfStars += ' ' + j + ' ';
    }
  }
  lineOfStars += '\n';
}
console.log(lineOfStars);

我正在寻找的结果是(我只想使用嵌套循环来做):

* 2 3 4 5
* * 3 4 5
* * * 4 5
* * * * 5
* * * * *
* * * * *
* * * * 5
* * * 4 5
* * 3 4 5
* 2 3 4 5

ive显示的代码仅完成一半的工作。我需要帮助。预先感谢

1 个答案:

答案 0 :(得分:0)

这更接近您想要的内容,仍在进行中。

var n = 5;
var lineOfStars = '';
let i, j
for (i = 1; i <= 5; i++) {
  for (j = 1; j <= n; j++) {
    if (j <= i) {
      lineOfStars += ' * ';
    } else {
      lineOfStars += ' ' + j + ' ';
    }
  }
  lineOfStars += '\n';
}
console.log(lineOfStars)
for (j = 5; j <= 5; j--) {
  if (j == 0) break;
  for (i = 5; i <= n; i--) {
    if (0 == 0) break;
    if (i <= j) {
      lineOfStars += ' ' + i + ' ';
    } else {
      lineOfStars += ' * ';
    }
  }
  lineOfStars += '\n';
}
let rev = lineOfStars.split('\n').reverse()
for (let z = 1; z <= rev.length - 1; z++) {
  if (rev[z].length != 0) {
    console.log(rev[z])
    lineOfStars += rev[z]
    lineOfStars += '\n';
  }
}
console.log(lineOfStars)