Javascript字符串到2维数组

时间:2012-09-23 22:35:16

标签: javascript arrays string multidimensional-array

好的,我一直在尝试许多不同的事情让它发挥作用。

我需要一个用逗号分隔成二维数组的字符串......例如:

string = "a,b,c,d,e,1,2,3,4,5";
array = [['a','1'],['b','2'],['c','3'],['d','4'],['e','5']];

这是我一直在调整的代码。

var temp = list.split(',');
questions = [[''],[''],[''],[''],['']];
five = 0;
one = 0;
for(var i = 0; i < temp.length; i++) {
    if(one == 5){five++; one = 0;}
    one++;
    questions[one][five] = temp[i];
}

btw list =“a,b,c,d,e,1,2,3,4,5”。

提前感谢!!!

2 个答案:

答案 0 :(得分:1)

好的,所以我在问这个问题之前修好了......但是我做了很多工作,无论如何我会发布它。

这是我现在的代码:

    var temp = list.split(',');

questions = [[],[],[],[],[]];

for(var i = 0; i < temp.length; i++) {
    questions[i%5][Math.floor(i/5)] = temp[i];
    one++;
}

谢谢Barmar !!!

答案 1 :(得分:1)

我建议采用一种略有不同的方法,避免for循环的复杂内部(我认为过分):

var string = "a,b,c,d,e,1,2,3,4,5",
    temp = string.split(','),
    midpoint = Math.floor(temp.length/2),
    output = [];

for (var i=0, len=midpoint; i<len; i++){
    output.push([temp[i], temp[midpoint]]);
    midpoint++;
}

console.log(output);

JS Fiddle demo