javascript - javascript中带有循环的树练习
问题描述
我想用 *. 我每次都会给出一个数字以指定树的高度。如果我给数字 4 作为高度,它应该看起来像这样:
*
***
*****
*******
我希望树使用 console.log 出现
我已经这样做了:
var size = 4;
document.write(
"<center>" + Array.apply(0, new Array(size)).map(function(_, i) {
return new Array((i + 1) * 2).join(" * ");
}).join("<br>") + "</center>"
);
但如果我使用 console.log 它不起作用
解决方案
您只需要计算每层左侧的空间。最深的开始于j=0
。上面的地板j=1
。等等。
给定一个高度h
,
- 楼层 h-1->j=0
- 楼层 h-2->j=1
- 楼层 0->j=h-1
请注意,如果您从 floor 开始0
,您会j=h-1
在随后的每个楼层获得并删除一个空间。
因此,您可以简单地编写
const h = 4;
console.log(Array(h).fill(0).map((_,i)=>{
return ' '.repeat(h-1-i)+'*'.repeat(i*2+1)
}).join('\n'))
推荐阅读
- java - "ClassName::new" VS "new ClassName()" in JAVA
- sitecore - 预览模式下的 Sitecore 聚合
- reactjs - 将 onIncrement() 和 onDecrement() 减少到 1 个函数 Reactjs?
- machine-learning - 为什么要在 CNN 卷积层中使用非线性激活函数?
- debugging - 调试器在 chrome 上打开时 iframe 崩溃,或者如果我在控制台中写入任何内容
- javascript - 无法在nodejs中获取属性对象
- android - CardView 半径和 Drawable Shape 半径不相同
- python-3.x - Python- 从路径获取 AWS 存储桶密钥
- pygame - 为什么我在使用这行代码时没有得到所有十的倍数?
- javascript - ajax,php,mysql中当前日期计数为8时禁用日期