初学者。我有一个文本区域。我想将文本分解为矩阵,然后转置行和列。我有功能将文本分成组。另一个将它们放入数组的函数,这就是我所拥有的。我真的不知道如何将它们组合成一个函数或者如果需要的话。我相信我应该通过创建子数组将数组转换为矩阵,然后我最终可以将文本从[i] [j]转换为[j] [i]。到目前为止这是对的还是我留下了什么?我很想在某个地方看到一个有效的例子,但似乎找不到一个。
function G_Group(size, count)
{
if (size <= 0)
{
size = document.encoder.group_size.value;
if (size <= 0)
{
alert('Invalid group size');
return false;
}
}
if (count <= 0)
{
count = document.encoder.group_count.value;
if (count <= 0)
{
alert('Invalid group count');
return false;
}
}
var t = document.encoder.text.value;
var o = '', groups = 0;
t = Tr(t, " \r\n\t");
while (t.length > 0)
{
if (o.length > 0)
{
o += ' ';
}
if (groups >= count)
{
o += "\n";
groups = 0;
}
groups ++;
o += t.slice(0, size);
t = t.slice(size, t.length);
}
document.encoder.text.value = o;
return false;
}
function toArray()
{
var str = document.encoder.text.value;
var nstr = str.split(" ");
document.encoder.text.value = nstr;
}
//i am having trouble with this part. don't know how to call the document.encoder.text.value into the list and don't know how to call group_size into elementsPerSubArray
function toMatrix(list, elementsPerSubArray) {
var matrix = [], i, k;
for (i = 0, k = -1; i < list.length; i++) {
if (i % elementsPerSubArray === 0) {
k++;
matrix[k] = [];
}
matrix[k].push(list[i]);
}
return matrix;
}
最后,我不知道如何将结果发回到textarea
到目前为止,我可以将文本分组到我从选择框中选择多少个字符的块(我有30个选项)并且可以在任何我想要的地方进行换行。就矩阵而言,将在1组(X)字符之后进行换行。 鉴于此文:
OOMUCHABOUTMYCOUNTRYICAREALOTH
我可以把它分成这样的组。
OOMUC HABOU TMYCO UNTRY ICARE ALOTH
或者如果我想要这样的话。
OOMUC
HABOU
TMYCO
UNTRY
ICARE
ALOTH
我想要做的是能够翻转矩阵,使其看起来像这样
AIUTHO
LCNMAO
...ect
HEYOUC