js数组怎么调换两个元素的位置?

有没有简便的方法?请多指教!

阅读 63.8k
6 个回答
let arr = [1, 2, 3, 4, 5]
// 交换第三个和第四个元素
// x < y
let x = 3, y = 4

arr.splice(x - 1, 1, ...arr.splice(y - 1, 1, arr[x - 1]))
console.log(arr) /// [1,2,4,3,5]

arr[i]=[arr[j], arr[j]=arr[i]][0]

ES6可以简单
[a,b] = [b,a]

最容易想到的就是

  ` var temp = arr[i];
        arr[i] = arr[j];
        arr[j] = temp;`    或者就是利用字符串和数组的一些方法进行交换,上面也有人提到了。 

用个tmp还不够简单?那你试试这个

let a=[1,2,3];
[a[1], a[2]]=[a[2], a[1]];

var a = [1,4,6,43,5,9,0,23,45];

    function change(arr,k,j) {
        var c = arr[k];

        arr[k] = arr[j];
        arr[j] = c;
        console.log(arr);
    }

    console.log(a);
    change(a,3,7);
推荐问题
宣传栏