繁体   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