2015-06-02 56 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);