我有一个这样的数组 - (我事先不知道这个数组的长度)
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]]
谢谢!
我有一个这样的数组 - (我事先不知道这个数组的长度)
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]]
谢谢!
每个元素都是一个数组,因此您可以对其应用反向。
for(i = 0; i < data.length; i++) data[i].reverse();
var i, temp;
for(i = 0; i < data.length; i++) {
temp = data[i][0];
data[i][0] = data[i][1];
data[i][1] = temp;
}
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
。