我想根据 HTML 中的输入元素获取的给定字符串创建一个矩形多维数组。矩形的尺寸将由绳子的长度决定。
例如
ifmanwasmeanttostayonthegroundgodwouldhavegivenusroots
纯文本应组织成一个矩形。矩形的大小(r x c)
应由消息的长度决定,例如 c >= r
和c - r <= 1
,
其中c 是列数,r是行数。
我们的规范化文本长度为 54 个字符,指示一个带有c = 8 和 r = 7的矩形:
"ifmanwas"
"meanttos"
"tayonthe"
"groundgo"
"dwouldha"
"vegivenu"
"sroots
请检查https://codepen.io/djtush/pen/ewvNEG看看我做了什么。
const myFunction = () =>
{
let message = document.getElementById("message").value;
if (message.length < 50) {
alert ("Your Message can not be less than 50 Characters");
}
else {
let removedSpace = message.replace(/[^a-zA-Z0-9]/g, '').toLowerCase();
document.getElementById("noSpace").innerHTML = removedSpace;
let squared = Math.sqrt(removedSpace.length);
let column = Math.ceil(squared);
let row = Math.floor(squared);
document.getElementById("no-Space").innerHTML = row;
}
}
我希望有一个数组 block
最佳答案
让正则表达式完成这项工作:
s = 'ifmanwasmeanttostayonthegroundgodwouldhavegivenusroots'
n = Math.ceil(Math.sqrt(s.length))
r = s.match(new RegExp(`.{1,${n}}`, 'g'))
console.log(r)
关于javascript - 如何创建一个多维数组,其维度由创建数组的字符串的长度决定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56722459/