【发布时间】:2021-08-21 08:16:15
【问题描述】:
我正在尝试在 edabit 上解决 This question。但是我的代码返回错误的输出。
我的代码:
function charBox(s) {
if(s % 1 !== 0 || s < 0 || typeof(s) === "string") return -1;
let charArr = "#".repeat(s).split("");
let res = [charArr];
for(let i = 1; i < s; i++) res.push(res[0])
if(res.length > 2) {
for(let j = 1; j < res.length -1; j++)
for(let k = 1; k < (res[j].length - 1); k++)
res[j][k] = " ";
return res;
}
else return res;
}
预期输出:如果输入 = 4
charBox(4) ➞ [
["#", "#", "#", "#"],
["#", " ", " ", "#"],
["#", " ", " ", "#"],
["#", "#", "#", "#"]
]
我的输出:如果输入 = 4
charBox(4) ➞ [
["#", " ", " ", "#"],
["#", " ", " ", "#"],
["#", " ", " ", "#"],
["#", " ", " ", "#"]
]
Here's Fiddle 如果您想尝试一下。 拜托,谁能解释一下我怎么这么笨。
【问题讨论】:
标签: javascript arrays for-loop