簡體   English   中英

交換 Javascript 中的數組元素

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM