将字符串转换为矩阵(数组)

时间:2013-04-03 09:10:28

标签: google-apps-script

我有一个字符串,我想使用谷歌应用程序脚本放入一个数组,我开始为此创建功能,但我不能正确地做,有人可以帮助我。 我的字符串是这样的形式:“key,type,val,key,type,val,key,type,val ....” 我想在我的矩阵的每一行中输入密钥和类型以及val。

在这里输入代码

function (tasks_data)
{
var data [];
var cpt=-1;
    while(tasks_data.length>0)
    {
    data[cpt ]= new array();
    var key =tasks_data.substring (0,tasks_data.indexof(','));
    var type= tasks_data.substring(0,tasks_data.indexof(','));  
    var val =tasks_data.substring (0,tasks_data.indexof(','));
cpt++;                       
return tasks_data;
}
}

1 个答案:

答案 0 :(得分:1)

这是一个有效的例子,我认为它不需要很多解释......

function xxx(){ // this function to test the "real" function
Logger.log(toMatrix('a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,0'))
}

function toMatrix(tasks_data){
  var matrix = [];
  var row = [];
  var temp = tasks_data.split(',')
  var len = temp.length
    if (len/3 != parseInt(len/3)){return false};// error condition, string must have a length multiple of 3

  for(n=1;n<len+1;++n){
    row.push(temp[n-1]);
     if(n/3==parseInt(n/3)){matrix.push(row);var row=[]};// each 3 items create a new row
     }
   return matrix
}

enter image description here