0

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

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

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];
}

顺便说一句列表=“a,b,c,d,e,1,2,3,4,5”。

提前致谢!!!

4

2 回答 2

1

好的,所以我在问问题之前修复了它……但我做了很多工作,我还是会发布它。

这是我现在有效的代码:

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

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

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

谢谢巴尔玛!!!

于 2012-09-23T22:35:16.433 回答
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 小提琴演示

于 2012-09-23T22:44:54.607 回答