Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用java脚本将变量转换为二维数组_Javascript_Jquery - Fatal编程技术网

Javascript 如何使用java脚本将变量转换为二维数组

Javascript 如何使用java脚本将变量转换为二维数组,javascript,jquery,Javascript,Jquery,我有一个包含如下数据的变量 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 我想把这串数据转换成这样的二维数组 var val

我有一个包含如下数据的变量

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
我想把这串数据转换成这样的二维数组

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实现这一点?

我希望这可能会有所帮助

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])
  }
}
var values=“VItDTotal,1232345123435,10,TestCase,1232345123435,5”
var splittedArray=values.split(','))
var resultArray=新数组();
var resultKey=-1;
对于(var i=0;i我是这样工作的:

//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));

不是我最喜欢的,但是,你想要这样的东西吗

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);

您不能更改格式吗?值最初是以逗号分隔的字符串形式生成的?在那里更改它会更容易。它不是字符串,为了理解,我在使用alert(值)时使用了逗号分隔的值,我的变量中有这些值。好的,那么如果它不是字符串,那么您的数据的格式到底是什么?我想它是数组?我们需要这些信息以便最有效地帮助您。我的回答对您有帮助吗?还是仍然卡住了?我自己找到了解决方案,感谢您的支持。我想OP希望将数字字符串转换为numBER也是在
else
resultArray[resultKey].push(Number(splittedArray[i])
中,也有人说他的变量不是字符串而是数组,所以不需要进行字符串拆分