簡體   English   中英

如何在Javascript中創建多個金字塔?

[英]How to create multiple pyramid in Javascript?

我想使用Javascript創建一個多金字塔程序,但我真的不明白我應該從哪里開始創建多星金字塔程序

注意:我必須使用For 循環創建它。

我想要的輸出

*         *
* *     * *
* * * * * *

這是我的代碼:

 for(i=1;i<=3;i++){ for(j=1;j<=i;j++){ document.write("*"+ " ") } for(k=5;k>=1;k=k-2){ for(m=1;m<=k;m++){ document.write("*") } } document.write("<br>") }

下面的代碼將繪制一個 N 層的雙金字塔,使用下划線(_)來描繪空間。 您可以修改使用的字符。

 const drawPyramid = length => { for (let i = 0; i < length; i++) { const N = 2*(length - i - 1) , blankValues = [...Array(N+1).keys()].slice(1).map(n => n + i) for (let j = 0; j < 2 * length; j++) { if (!blankValues.includes(j)) document.write("* ") else document.write("_ ") } document.write("<br>") } } drawPyramid(3) document.write("<br>") drawPyramid(4) document.write("<br>") drawPyramid(10)

請嘗試以下操作:

 var allowedIndexes = []; const columnNum = 6 for(var i=0; i<3 ;i++){ allowedIndexes.push(i) allowedIndexes.push(columnNum - (i+1)) for(var j=0;j< columnNum ;j++){ if(allowedIndexes.includes(j)){ document.write("*&nbsp;") } else { document.write("&nbsp;&nbsp;&nbsp;") } } document.write("<br>") }

const writePyramid = (levels, row = 0, level = [], spacers = 0) => { if (row === levels) return; document.write("<br>") if (spacers === 0) spacers = levels + 1; let stars = new Array(row + 1).fill('*') level = [...stars, ...new Array(spacers > 1 ? spacers : 0).fill('&nbsp;&nbsp;'), ...stars] document.write(level.join('')) writePyramid(levels, row + 1, level, spacers / 2); } writePyramid(3)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM