NodeJS打印金字塔和空心金字塔

代码:

function printPyramid(totalLevel) { 	/* 		打印金字塔 	    1	 * 	    2   *** 	    3  *****  	  规律: 	  每层 * 个数 = 2n - 1 	  每层 前空格 = 总层数 - n   (后空格 不用管  直接通过 打印换行实现) 	*/  	// i 代表层数 	for (let i = 1; i <= totalLevel; i++) { 		// j 表示 * 数  		// 打印前空格 		for( let k =1; k <= totalLevel - i; k++) { 			process.stdout.write( ) 		} 		// 打印 * 		for ( let j = 1; j <= 2 * i - 1; j++) { 			process.stdout.write(*) 		} 		console.log()         // process.stdout.write(\n) 	}   	/* 		打印空心金字塔 	    1	 * 	    2   * * 	    3  *   * 	    4 ******* 		规律: 		除了最后一层的*全打印,其余层只打第一个和最后一个* 	*/ 	console.log()     // process.stdout.write(\n)  	// i 代表层数 	for (let i = 1; i <= totalLevel; i++) { 		// j 表示 * 数  		// 打印前空格 		for (let k =1; k <= totalLevel - i; k++) { 			process.stdout.write( ) 		} 		// 打印 * 		for (let j = 1; j <= 2 * i - 1; j++) { 			if (j == 1 || j == 2 * i - 1 || i == totalLevel) { 				process.stdout.write(*) 			} else { 				process.stdout.write( ) 			} 		} 		console.log()         // process.stdout.write(\n) 	} }  printPyramid(10)  

output

         *         ***        *****       *******      *********     ***********    *************   ***************  ***************** *******************           *         * *        *   *       *     *      *       *     *         *    *           *   *             *  *               * *******************