利用JS实现自定义行数的金字塔居中打印
时间: 2024-09-15 14:13:21 浏览: 12
在JavaScript中,你可以创建一个函数,接受一个参数表示金字塔的高度,然后动态地生成并打印每个层级的空格和星号。下面是一个简单例子,它使用字符串拼接和数组循环来实现:
```javascript
function printPyramid(n) {
let pyramid = [];
// 创建每一行的字符串
for (let i = 0; i <= n; i++) {
let line = '';
// 前面的空格
for (let j = 0; j < n - i; j++) {
line += ' ';
}
// 中间的星号,宽度是当前行数乘2减1
for (let k = 0; k < 2 * i - 1; k++) {
line += '*';
}
pyramid.push(line);
}
// 打印整个金字塔
let spacesBefore = ' ' * Math.floor((process.stdout.columns - pyramid[pyramid.length - 1].length) / 2); // 居中打印
console.log(spacesBefore + pyramid.join('\n') + spacesBefore);
}
// 调用函数并传入金字塔高度,比如5
printPyramid(5);
```
这段代码首先生成一个包含所有行的数组,然后使用`console.log()`函数在居中时添加必要的空格。注意,这个例子假设你正在一个支持`process.stdout.columns`的环境中运行,这通常是在命令行界面。