我正在尝试创建一个返回“楼梯”的函数。输出需要如下所示:
var staircase5 = [
" #",
" ##",
" ###",
" ####",
"#####"
]
到目前为止,我编写的代码是:
function staircase (valueA){
const array1 = [];
for (let i = 0; i < valueA; i++){
let cicle = valueA[i];
let step = " #".repeat(cicle);
array1.push(step)
}
console.log(array1);
}
当我在VS Code中运行代码时,console.log(staircase(3));
结果如下:
[ '', '', '' ]
undefined
关于为什么它将字符串返回为'而不是'#'的任何线索?为什么不真正重复呢?非常感谢!
您当前正在尝试将valueA
,它是一个数字,类似于数组。如果从1循环到valueA,则每个步骤应为空格重复值-i次与#个字符重复i次。
function staircase (valueA){
const array1 = [];
for (let i = 1; i <= valueA; i++){
let step = " ".repeat(valueA - i) + "#".repeat(i);
array1.push(step)
}
return array1;
}
console.log(staircase(5))
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句