1

初学者在这里。我有一个文本区域。我想将文本分解成一个矩阵,然后转置行和列。我有将文本分成组的功能。另一个将它们放入数组的函数,就我所知。我真的不知道如何将它们组合成一个功能或是否需要。我相信我应该通过创建子数组将数组转换为矩阵,然后我最终可以将文本从 [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
4

0 回答 0