2016-08-18 36 views
1
I think that my confusion is also related to my misunderstanding of the tier definition. What purpose does the '' placeholder serve in defining the tier variable as such? 

function printTriangle(length) { 
    for(var i = 1; i <= length; i++) { 

     var tier = ''; 

     for(var j = 0; j < i; j++) { 
      tier += '*'; 
     } 

    console.log(tier); 
    } 
} 
//printTriangle(3); 


* 
** 
*** 

此外,如何增加第三個循環使輸出對準金字塔像這樣?我已經看到這被用作一個謎題/面試的提示,但我認爲基本的理解(如果你不能說明的話,我只是深入瞭解這一點)會使三角形過渡到金字塔相當簡單。是否需要第二個'for'循環,如果是這樣,爲什麼?

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


function printPyramid(length) { 
    for(var i = 1; i <= length; i++) { 
     var tier = ''; 

     for(var j = length - i; j > 0; j--) { 
      tier += ' '; 
     } 
     for(var k = 0; k < i; k++) { 
      tier += '* '; 
     } 
    console.log(tier); 
    } 
} 
//printPyramid(10); 

預先感謝您!

回答

0

''佔位符僅用於將tier變量初始化爲字符串。直到輸入循環並添加實際字符纔會使用它的值。

是的。第一個循環處理行。第二個循環繪製每個級別。請注意,j循環使用i作爲輸入參數。在這種情況下,金字塔等級(從頂部開始)等於該點金字塔的寬度。

添加第三個循環並非多餘。它所做的是添加空格字符,以便金字塔看上去具有居中的頂部而不是與屏幕左側齊平的頂部。

+0

感謝您的明確迴應! – AndrewC

+0

你好!很高興我們可以提供幫助。 –

相關問題