Javascript程序以单个代码打印所有星星模式,带2个循环

时间:2018-03-20 07:22:13

标签: javascript for-loop

我需要Javascript代码才能使用只有2个for循环的单个程序打印所有星形图案。我尝试了以下代码,但它只打印菱形。

var spaces = " ";
var rows = "* ";
while(rows.length < 200) {
    spaces += spaces; // doubles length each time
    rows += rows; // ditto
}

function diamond(n) {
    n = parseInt(n, 10);
    var i, s;
    // top: 1 to n
    console.log("<pre>");
    for(i = 1; i <= n; ++i) {
        // write n-i spaces:
        console.log(spaces.substring(0,n-i));
        // then write i asterisk+space sets:
        console.log( rows.substring(0,i+i) + "\n");
    }
    // bottom: n-1 down to 1
    for(i = n-1; i >= 1; --i) {
        // write n-i spaces:
        console.log( spaces.substring(0,n-i) );
        // then write i asterisk+space sets:
        console.log( rows.substring(0,i+i) + "\n" );
    }
    console.log("</pre>");
}
diamond(9);

2 个答案:

答案 0 :(得分:1)

您可以尝试

let star = "";
for(let i=1; i<=50; i++) {
  
  for(let j=1; j<=i; j++) {
    star += "*";
  }
  star += "\n";
}
console.log(star);

答案 1 :(得分:0)

嗯,有很多明星模式,你没有指定你感兴趣的那些。 无论如何,如果您可以阅读简单的C代码并将其翻译为Javascript,这里有一个9星模式的链接,您可以尝试

http://cbasicprogram.blogspot.it/2012/03/star-patterns.html

星图模式算法通常在每种语言中都很容易理解,因为它们被用作初学练习。如果您没有找到与JS相关的任何内容,请尝试使用其他语言进行搜索。