为此输出创建 javascript 金字塔循环:

问题描述 投票:0回答:1

我有这个,但无法解决问题:

for (let i = 1; i <= 5; i++) {
  let line = '';
  for (let j = 1; j <= 5 - i; j++) {
    line += '    ';
  }
  for (let k = i; k <= 2 * i - 1; k++) {
    line += `${i}` + '      ';
  }
  for (let l = 2 * i - 2; l >= i; l--) {
    line += `${l}` + '      ';
  }
  console.log(line);
}
.as-console-wrapper { max-height: 100% !important; top: 0; }

这是我想要的输出:

              1

它形成一个等边三角形。

javascript loops
1个回答
0
投票

linenumber = 5
for (let i = 1; i <= linenumber; i++) {
    let line = ''
    for (let space = 1; space <= linenumber-i; space++){
        line +=  '    ';
    }
    for (let j = 1; j <= i; j++) {
        let numberadd =  Math.abs(j-1);
        let numberadd2 =  Math.abs(i-j);
        
        if (numberadd > numberadd2){
            numberadd = numberadd2
        }
        line += i+numberadd + '       ';
        
    }
    console.log(line)
}
.as-console-wrapper { max-height: 100% !important; top: 0; }

这是一个非常简单的金字塔,加上额外的酱汁。对于每个单元格,您需要通过相对于“墙壁”的最近距离来确定其值。

© www.soinside.com 2019 - 2024. All rights reserved.