2013-04-03 364 views
0

我有一個字符串,我希望把在使用谷歌的數組Google Apps腳本,我開始爲這一創建功能,但我不能做正確,有人可以幫我請。 我的字符串是在這種形式:「鍵,類型,val,鍵,類型,val,鍵,類型,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

這裏工作的例子,我不認爲它需要大量的解釋...

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

+0

非常感謝你這完美的作品 – marwen

+0

再次感謝你給我的例子,但實際上我認爲我的情況是對象不是字符串..所以我的tasks_data = ADT#你好單詞#過程#V1#A法國#1,Paginator2,1,ADT#你好單詞#處理#V1#阿拉伯語#1,分數符最終,120,ADT#你好單詞#處理# V1#阿拉伯語#1,QC最終,120 ...我認爲這是一個字符串,但它似乎是一個對象,因爲當我嘗試你的功能時,它是錯誤的:無法找到功能拆分對象。你知道我必須做什麼?請 。 – marwen

+0

嘗試task_data.to string()在分割之前將其轉換爲字符串。 –