要在JavaScript中使用for
循环输出一个菱形,可以按照以下步骤进行:
for
循环:一种常用的循环结构,用于重复执行一段代码直到满足特定条件。以下是一个使用for
循环在控制台输出菱形的JavaScript示例:
function printDiamond(n) {
if (n % 2 === 0) {
console.log("请输入一个奇数以形成对称的菱形。");
return;
}
let mid = Math.floor(n / 2) + 1;
// 打印上半部分(包括中间行)
for (let i = 1; i <= mid; i++) {
let spaces = mid - i;
let stars = 2 * i - 1;
// 打印空格
let spaceStr = '';
for (let j = 0; j < spaces; j++) {
spaceStr += ' ';
}
// 打印星号
let starStr = '';
for (let k = 0; k < stars; k++) {
starStr += '*';
}
console.log(spaceStr + starStr);
}
// 打印下半部分
for (let i = mid - 1; i >= 1; i--) {
let spaces = mid - i;
let stars = 2 * i - 1;
// 打印空格
let spaceStr = '';
for (let j = 0; j < spaces; j++) {
spaceStr += ' ';
}
// 打印星号
let starStr = '';
for (let k = 0; k < stars; k++) {
starStr += '*';
}
console.log(spaceStr + starStr);
}
}
// 示例调用
printDiamond(7);
运行上述代码,printDiamond(7);
将输出:
*
***
*****
*******
*****
***
*
String.prototype.repeat()
方法简化空格和星号的生成。function printDiamondOptimized(n) {
if (n % 2 === 0) {
console.log("请输入一个奇数以形成对称的菱形。");
return;
}
let mid = Math.floor(n / 2) + 1;
for (let i = 1; i <= mid; i++) {
let spaces = ' '.repeat(mid - i);
let stars = '*'.repeat(2 * i - 1);
console.log(spaces + stars);
}
for (let i = mid - 1; i >= 1; i--) {
let spaces = ' '.repeat(mid - i);
let stars = '*'.repeat(2 * i - 1);
console.log(spaces + stars);
}
}
// 示例调用
printDiamondOptimized(7);
这种方法使代码更加简洁,易于理解。
希望以上内容能帮助你理解如何使用for
循环在JavaScript中输出菱形。如有其他问题,欢迎继续提问!
领取专属 10元无门槛券
手把手带您无忧上云