Javascript 如何用一个字符和一个随机数画一个正方形?
我想根据用户输入的大小制作一个方形的字母盒。例如,如果用户输入数字Javascript 如何用一个字符和一个随机数画一个正方形?,javascript,html,css,Javascript,Html,Css,我想根据用户输入的大小制作一个方形的字母盒。例如,如果用户输入数字5和字符'o',则绘制如下形状: ooooo o o o o o o ooooo 或者,如果用户输入数字3和字符'h',则用'h'字符画一个正方形,如下所示: hhh h h hhh 我是javascript新手,所以我根本不知道怎么做。记住,我必须在屏幕上打印它,而不是在控制台上。log。我想通过阅读你的代码和理解你的逻辑来学习我的作业。因此,我可以为将来的赋值提供更好的逻辑。您可以尝试做的是执行嵌套for循环
5
和字符'o'
,则绘制如下形状:
ooooo
o o
o o
o o
ooooo
或者,如果用户输入数字3
和字符'h'
,则用'h'
字符画一个正方形,如下所示:
hhh
h h
hhh
我是javascript新手,所以我根本不知道怎么做。记住,我必须在屏幕上打印它,而不是在
控制台上。log
。我想通过阅读你的代码和理解你的逻辑来学习我的作业。因此,我可以为将来的赋值提供更好的逻辑。您可以尝试做的是执行嵌套for循环,然后为每一行创建一个带有字符串的数组
设n=5;
让输出=[];
for(设i=0;i console.log(输出)
这里有一个可能的解决方案。您需要的是在任何不是第一行或最后一行的行上,在开始和结束时仅“绘制”一个o
。为了确保所有其他线条上的间距正确,我们仍然绘制o
,但不透明度为0
function generateBox(){
const number=document.querySelector(“#boxSize”).value;
设html=[];
对于(i=0;i ”);
}
document.querySelector(“#box”).innerHTML=html.join(“”);
}
document.querySelector(“#generateBox”).addEventListener('click',generateBox')代码>
生成框
简单使用Array.map和fill属性即可实现此目的
使用单一条件检查
(rowIndex==0 | | rowIndex==size-1 | | colIndex==0 | | colIndex==size-1)
函数MakeBox(字符,大小){
数组(大小).fill(字符).forEach((行,行索引)=>{
常量数据=数组(大小).fill(字符).map((列,colIndex)=>{
如果(rowIndex==0 | | rowIndex==size-1 | | colIndex==0 | | colIndex==size-1){
返回字符;
}
返回“”
})
console.log(`${data.join(“”)}\n`);
});
}
MakeBox(“o”,5);
MakeBox(“x”,10)代码>您使用的测量单位是什么?当你说n=5
时,它是。。。什么你试过什么?据我所知,这个单位是o
:-)请访问,看看是什么和。做一些研究,搜索相关话题等;如果你被卡住了,张贴一份你的尝试,记下输入和预期输出。另外,屏幕的读取输出是一个单独的问题。如果你可以控制台记录它,你可以用CSS填充一个div,设置为pre-tooIs,这是你能做的最有效和最少的代码量?@JustinGrave你认为可以改进什么?这可能是一个很好的练习。我认为你的代码很好,因为我不是学生,所以我不是最好的,但她说你可以用她教的东西来制作程序。还有一种方法,比如html.push和查询选择器,我还没有学会。我在等待一个fill
版本