Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何用javascript制作金字塔?_Javascript_Loops - Fatal编程技术网

如何用javascript制作金字塔?

如何用javascript制作金字塔?,javascript,loops,Javascript,Loops,我试着制作长度为4的金字塔 这是我尝试过的代码 console.log("-----------------------") function middle(){ for (i = 0; i < 4; i++){ var output = ''; for(j=1; j < 4 - i; j++) output += ' '; for (k =1; k <=(2*i+1);

我试着制作长度为4的金字塔

这是我尝试过的代码


console.log("-----------------------")


function middle(){

    for (i = 0; i < 4; i++){
        var output = '';
        for(j=1; j < 4 - i; j++)
            output += ' ';
        for (k =1; k <=(2*i+1); k++)
            output += '*';
        console.log(output);
     
    }
}

middle();

但我想实现这样的产出


您可能使用的是等距字体

这意味着所有字符都具有相同的宽度

这在计算机编程中很方便,因为当事情排成一行时,它更具可读性

这意味着不可能在两个字符之间设置“中间”字符,除非使用空格,如:

   *
  * *
 * * * 

在这种情况下,只需调整循环以在正确的位置包含空格。

您可能使用的是单间距字体

这意味着所有字符都具有相同的宽度

这在计算机编程中很方便,因为当事情排成一行时,它更具可读性

这意味着不可能在两个字符之间设置“中间”字符,除非使用空格,如:

   *
  * *
 * * * 

在这种情况下,只需调整循环以在正确的位置包含空格。

无需使用循环来生成多个字符-改用String的repeat函数:

功能中间{ 设s=; 对于设i=4;i>=0;i-{ s+=.repeati+*.repeat4-i+\n; } 返回s; }
控制台。中间 无需使用循环来生成多个字符-请改用String的repeat函数:

功能中间{ 设s=; 对于设i=4;i>=0;i-{ s+=.repeati+*.repeat4-i+\n; } 返回s; }
控制台。中间 由于您的问题没有说明这必须使用控制台输出,这里有一个版本,输出为HTML/网页

const pyramid=document.querySelector'pyramid';
对于设l=1;l因为您的问题没有说明这必须使用控制台输出,这里有一个版本,输出是HTML/网页

const pyramid=document.querySelector'pyramid';
对于设l=1;这就是你需要的:-

const renderTree==>{ const noOfColums=Numberdocument.getElementByIdinputNumber.value; 设finalTree=; 常数星=*; 常量空间=;
对于让rowNumber=1;rowNumber这是您需要的:-

const renderTree==>{ const noOfColums=Numberdocument.getElementByIdinputNumber.value; 设finalTree=; 常数星=*; 常量空间=;
对于let rowNumber=1;rowNumber,如果这仅限于控制台输出,则实际上不能。因为控制台输出通常是固定宽度的字体大小。如果您的输出可以是HTML,则这将容易得多。不过,有一个想法,如果这是控制台输出,请找到使用2个字符的内容,…例如…,然后您可以有一半的空间将允许您的系统金字塔。如果这仅限于控制台输出,您实际上不能。因为控制台输出通常是固定宽度的字体大小。如果您的输出可以是HTML,那么这将容易得多。不过,有一个想法,如果这是控制台输出,请找到使用2个字符的内容,…例如…,然后您可以有一半的空间将允许你的系统金字塔。按照OP的建议将其更新为4,然后,我认为,这是一种时髦的方式输出到页面!无论如何,我已经给了它一个大拇指。@ATD good point,更新。我使用了他的图片,但他在他的问题中陈述了4。按照OP的建议将其更新为4,然后,我认为,这是一种时髦的方式输出到页面!我已经更新了“不管怎么说,大拇指已经竖起来了!”ATD good point,更新了。我用了他的照片,但他在问题中陈述了4。