2015-06-02 74 views
0

我有一個包含這樣如何使用Java腳本

var values = "VItDTotal,123,234,234,2345,1234,123,435,10,TestCase,123,234,234,2345,1234,123,435,5" 

數據的變量,我想這種數據字符串轉換爲二維數組這樣

[VItDTotal,123,234,234,2345,1234,123,435,10] //1st row 
[TestCase, 123,234,234,2345,1234,123,435,5] //2nd row 
變量轉換爲二維數組

如何將一個JS變量轉換爲二維數組?

我想將這些值附加到數據表中,我如何通過使用jQuery來實現這一點?

+0

您不能更改該值最初構建爲逗號分隔字符串的格式嗎?在那裏改變它會更容易。 –

+0

它不是一個字符串,爲了理解,我使用了逗號分隔的值,當我使用alert(values)時,我在這個變量中有這些值。 – SHOBHAN

+0

好吧,如果它不是一個字符串,那麼你的數據究竟是什麼格式?我認爲這是一個數組?我們需要這些信息才能最有效地幫助您。 –

回答

0

我希望這可以幫助...

var values = "VItDTotal,123,234,234,2345,1234,123,435,10,TestCase,123,234,234,2345,1234,123,435,5" 


var splittedArray = values.split(',') 
var resultArray = new Array(); 
var resultKey = -1; 
for(var i=0; i<splittedArray.length; i++) { 
    if(isNaN(splittedArray[i])) { 
    resultKey++; 

    resultArray[resultKey] = new Array(); 
    resultArray[resultKey].push(splittedArray[i]) 
    } else { 
    resultArray[resultKey].push(splittedArray[i]) 
    } 
} 
+0

我認爲OP希望數字字符串轉換爲數字以及'else':'resultArray [resultKey] .push(Number(splittedArray [i]))' –

+0

也有人說他的變量不是一個字符串,而是一個數組,所以你不需要做字符串分割 –

0

我的工作是這樣的:

//get the index where ",TestCase" is 
var index = values.indexOf(",TestCase"); 

//create two arrays to the values 
var part_one = [], part_two = []; 

//slice the value from 0 to index and push part one 
part_one.push(values.slice(0,index)); 

//slice the value from index+1 to the end and push part two 
part_two.push(values.slice(index+1, values.length)); 
0

不是我喜歡的,但是,你這樣的事情之後?

var values = ["VItDTotal",123,234,234,2345,1234,123,435,10,"TestCase",123,234,234,2345,1234,123,435,5]; 
var vals = [values. 
    join(","). 
    replace(/,([a-z]+)(?!.*[a-z]+)/gi, " devider $1"). 
    split(/\s+devider\s+/gi)]; 

console.log(vals);