0

私はこのような配列を持っています - (私は事前にこの配列の長さを知りません)

data: [[3, 1], [1, 1], [5, 1], [6, 1], [25, 1], [8, 2], [2, 3]]

次のようになるように交換する方法:

data: [[1, 3], [1, 1], [1, 5], [1, 6], [1, 25], [2, 8], [3, 2]]

ありがとう!

4

3 に答える 3

4

各要素は配列であるため、逆に適用できます。

for(i = 0; i < data.length; i++) data[i].reverse();
于 2012-04-09T19:27:39.837 に答える
2
var i, temp;

for(i = 0; i < data.length; i++) {
    temp = data[i][0];

    data[i][0] = data[i][1];
    data[i][1] = temp;
}
于 2012-04-09T19:16:18.520 に答える
0
var data = [[3, 1], [1, 1], [5, 1], [6, 1], [25, 1], [8, 2], [2, 3]];
data = data.map(function(x){ // loop though all elements
    return x.reverse(); // reverse each array
});

Arary.map最新のすべてのブラウザで動作するはずです(つまり、Chrome、Firefox、Safari、Opera、またはIE9 +が必要です)。

編集:Array.reverse配列を変更するので、これを行うこともできます:

var data = [[3, 1], [1, 1], [5, 1], [6, 1], [25, 1], [8, 2], [2, 3]];
data.forEach(function(x){ // loop though all elements
    x.reverse(); // reverse each array
});

Array.forEachで動作するのと同じ「最新の」ブラウザで.map動作します。

于 2012-04-09T19:25:09.603 に答える