我有一个这样的数组 - (我不知道这个数组的长度)
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]]
谢谢!
答案 0 :(得分:4)
每个元素都是一个数组,因此您可以在其上应用反向。
for(i = 0; i < data.length; i++) data[i].reverse();
答案 1 :(得分: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;
}
答案 2 :(得分: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
工作的“同步”浏览器。