在JavaScript中创建一个嵌套循环以打印菱形图案涉及两个主要步骤:确定菱形的大小并设置适当的循环条件。以下是一个简单的函数,它接受一个参数n
,表示菱形的高度(同时也是宽度),并打印出一个相应大小的菱形。
function printDiamond(n) {
// 上半部分包括中间行
for (let i = 1; i <= n; i++) {
let spaces = ' '.repeat(n - i);
let stars = '*'.repeat(2 * i - 1);
console.log(spaces + stars);
}
// 下半部分不包括中间行
for (let i = n - 1; i >= 1; i--) {
let spaces = ' '.repeat(n - i);
let stars = '*'.repeat(2 * i - 1);
console.log(spaces + stars);
}
}
// 调用函数打印一个高度为5的菱形
printDiamond(5);
这段代码首先打印出菱形的上半部分,包括中间行,然后打印出下半部分。每一行的星号数量由2 * i - 1
计算得出,其中i
是当前行数(对于上半部分是从1开始递增,对于下半部分是从n - 1
开始递减)。空格的数量则是由n - i
计算得出,用于将星号居中对齐。
这个函数假设n
是一个奇数,因为只有奇数高度的菱形才会对称。如果传入偶数,菱形将不会完全对称。
应用场景:
遇到的问题及解决方法:
n
是偶数,菱形不会对称。可以通过检查n
是否为奇数,并在不是的情况下增加1来解决这个问题。参考链接:
领取专属 10元无门槛券
手把手带您无忧上云