今天我们来分享一下,通过循环来编写出一个菱形。
第一种:通过双层for循环来实现
for(var i = 1; i <= 5; i++) { //外层循环代表的是要循环的行数
for(var k = 0; k < 5 - i; k++) { //这层循环是要循环的空格数
document.write(' ');
}
for(var j = 0; j < i; j++) { //内层循环代表的是要打印的列数
document.write('* ');//输出星星
}
document.write('<br>');//每打印完一行换行
}
for(var z = 4; z > 0; z--) {//倒三角的外层
for(var x = 5; x > z; x--) {
document.write(' ');
}
for(var c = z; c > 0; c--) {
document.write('* ');
}
document.write('<br>');
}
第二种:将输出空格换成居中
document.write("<p align='center'>")
for(var i = 1; i <= 5; i++)
for(var j = 0; j < i; j++) {
document.write('* ');
}
document.write('<br>');
}
for(var z = 4; z > 0; z--) {
for(var c = z; c > 0; c--) {
document.write('* ');
}
document.write('<br>');
}
这种方法相对于第一种,稍微暴力,但代码量有所减少且能达到目的
第三种:Math.abs()绝对值方法
document.write('<center>');
for(var i = 1; i <= 6; i++) {
for(var j = 0; j < 5 - Math.abs(2 * i - 6); j++) {//通过绝对值计算每行星星数量
document.write('*');
};
document.write('<br>');
}
该方法逻辑性更强
最后我们来看看输出效果
今天的分享就到这,欢迎补充新的方法!
如有错误之处,敬请指正!