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 回答