JavaScript交换数组元素位置的几种方式
交换元素在开发或者做算法时,会经常使用,总结了一下几种方式
1、运用第三方变量
这是最基础的一种方式,创建一个变量作为中转
//需要交换的两个变量
let [a,b] = [1,3]
//创建的中转变量
let temp = []
temp = a
a = b
b = temp
console.log(a,b) // 3,1
2、splice()方法
splice()方法用于插入、删除、替换数组元素,会返回被删除的元素
array.splice(index2,1,...array.splice(index1, 1 , array[index2]));
array.splice(index1, 1 , array[index2])会将index1位置上的元素替换为index2位置的元素,同时返回[array[index1]](注意此时返回的是数组,所以在代码中加入了扩展运算符…将数组转为参数序列)。再利用同样的方式将index2位置上的元素替换为被删除的原数组的array[index1]的值。完成交换
3、解构赋值
利用ES6的解构赋值更加简洁的进行元素交换
[array[index1] , array[index2]] = [array[index2] , array[index1]]
等号左右两边模式相同,就会将右边的值赋给左边的变量