0

わかりました、これを機能させるために多くの異なることを試みてきました。

2次元配列にコンマで区切られた文字列が必要です...たとえば、次のようになります。

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"。

前もって感謝します!!!

4

2 に答える 2

1

OK、質問する前に修正しました...でも、とにかく投稿するので、たくさんの作業をしました。

これは私が今持っているコードで、機能します:

    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 に答える