[英]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("* ") } else { document.write(" ") } } 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(' '), ...stars] document.write(level.join('')) writePyramid(levels, row + 1, level, spacers / 2); } writePyramid(3)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.