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);
*
**
***
此外,添加第三个循环如何使输出与金字塔对齐?我已经看到这被用作脑力激荡/面试提示,但我认为基本的理解(我只是潜入这个,如果你还不能说)将使三角形转换到金字塔相当简单。
*
* *
* * *
* * * *
* * * * *
* * * * * *
* * * * * * *
* * * * * * * *
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 :(得分:0)
''
占位符仅用于将tier
变量初始化为字符串。在输入循环并添加实际字符之前,它的值永远不会被使用。
是。第一个循环处理行。第二个循环绘制每个级别。请注意,j
循环使用i
作为输入参数。在这种情况下,金字塔等级(从顶部开始)等于该点金字塔的宽度。
添加第三个循环并不是多余的。它的作用是添加空格字符,使金字塔看起来有一个居中的顶部,而不是一个与屏幕左侧齐平的顶部。