Javascript中的文本字符串到矩阵

时间:2012-11-24 15:05:34

标签: javascript matrix

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

0 个答案:

没有答案