簡體   English   中英

無法將左對齊三角形變為右對齊三角形

[英]Can't get left aligned triangle to be right aligned triangle

我正在嘗試制作一個右對齊的三角形。 我能夠輕松地使一個左對齊的三角形,但無法獲得每增加一行減少的空格數。

輸出應為:

       #
      ##
     ###
    ####
   #####

 let levels = 8; let hash = ''; for (let i = 1; i <= levels; i++) { hash += '#'; console.log(hash) } 

與其重用相同的字符串, padStart()考慮使用repeat()padStart()生成每一行:

 function rightAlignedTriangle (levels) { for (let i = 1; i <= levels; i++) { const row = '#'.repeat(i).padStart(levels) console.log(row) } } rightAlignedTriangle(5) 

要使用嵌套循環而不是字符串方法來實現此目的,可以將上述兩個方法手動實現為在外部循環中聲明的變量字符串上的內部循環:

 function rightAlignedTriangle (levels) { for (let i = 1; i <= levels; i++) { let row = '' for (let j = 0; j < levels; j++) { if (j < i) { row += '#' } // repeat(i) else { row = ' ' + row } // padStart(levels) } console.log(row) } } rightAlignedTriangle(5) 

暫無
暫無

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

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