-1

私はこのような配列を持っています

var aaa = [
  [value1,value2],[0,0]],
  [[value3,value4],[0,1]],
  [[value5,value6],[1,0]],
  [[value7,value8],[0,2]],
  [[value9,value10],[1,1]],
  [value11,value12],[2,0]]
];

この配列を値ごとに複数の配列に分割したい[0,1][0,2]など.

いえ

array1 = [[value1,value2],[value3,value4],[value7,value8]];
array2 = [[value5,value6],[value9,value10]];
array3 = [[value11,value12]];

これどうやってするの ?

4

2 に答える 2

1

これを使って:

var aaa = [
[['value1','value2'],[0,1]],
[['value3','value4'],[0,2]],
[['value5','value6'],[1,0]],
[['value7','value8'],[0,3]],
[['value9','value10'],[1,1]],
[['value11','value12'],[2,0]]];

var result = {};

for (var i = 0; i < aaa.length; i += 1) {
    if (!result[aaa[i][1][0]]) {
        result[aaa[i][1][0]] = [];
    }
    result[aaa[i][1][0]].push(aaa[i][0]);
}

その後:

result[0]; //[[value1,value2],[value3,value4],[value7,value8]];
result[1]; //[[value5,value6],[value9,value10]];
result[2]; //[[value5,value6],[value9,value10]];
于 2013-04-15T09:19:46.947 に答える
0

これを仮定すると:

[['value1','value2'],[0,1]]

この例では: 0 は、値を格納する必要がある配列を示します。1 この配列のどのセルに格納する必要があるかを示します。

このコードは仕事をします:

var aaa = [
    [['value1','value2'],[0,1]],
    [['value3','value4'],[0,2]],
    [['value5','value6'],[1,0]],
    [['value7','value8'],[0,3]],
    [['value9','value10'],[1,1]],
    [['value11','value12'],[2,0]]
];

var arr_result = new Array();

for (var k in aaa) {
    if (arr_result[aaa[k][1][0]] == undefined) {
        arr_result[aaa[k][1][0]] = new Array();
    }
    arr_result[aaa[k][1][0]][aaa[k][1][1]] = aaa[k][0];
}

警告 : この例のように、[0,0] セルが存在しないため、セルが空になる可能性があります。

于 2013-04-15T09:30:19.390 に答える