javascript - 如何创建一个多维数组,其维度由创建数组的字符串的长度决定

标签 javascript html arrays

我想根据 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/

相关文章:

javascript - 使用 JavaScript 获取元素的所有 CSS 样式

Java解析文本文件到数组

javascript - 复活节彩蛋 - 字母间距

javascript - 从 JSFiddle 重新创建一个简单的旋转木马 slider

javascript - 如何在 Webkit GTK View 中下载文档并打开文件?

javascript - 如何使用PhpStorm IDE正确识别CakePHP项目中的js代码?

html - 无法从 BootStrap 3 更新到 BootStrap 4

javascript - 有没有办法让 HTML div 像 body 标签一样工作?

c - 将数组指针传递给 C 中的函数

c - 根据 c 中的输入拆分二进制数字序列