[英]Swapping array elements in Javascript
我有一個這樣的數組 - (我事先不知道這個數組的長度)
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
相同的“現代”瀏覽器中工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.