[转]JavaScript交换数组元素位置的几种方式

JavaScript交换数组元素位置的几种方式

交换元素在开发或者做算法时,会经常使用,总结了一下几种方式

1、运用第三方变量

这是最基础的一种方式,创建一个变量作为中转

//需要交换的两个变量
let [a,b] = [1,3]
//创建的中转变量
let temp = []
temp = a
a = b 
b = temp
console.log(a,b)  // 3,1

2、splice()方法

splice()方法用于插入、删除、替换数组元素,会返回被删除的元素

var list=['a','b','c','d','e','f'];

// 首(index=0)尾(index=5)互换
list.splice(0,1,...list.splice(5, 1, list[0]));

console.log(list);

>>> (6) ['f', 'b', 'c', 'd', 'e', 'a']

array.splice(index1, 1 , array[index2])会将index1位置上的元素替换为index2位置的元素,同时返回[array[index1]](注意此时返回的是数组,所以在代码中加入了扩展运算符…将数组转为参数序列)。再利用同样的方式将index2位置上的元素替换为被删除的原数组的array[index1]的值。完成交换

3、解构赋值

利用ES6的解构赋值更加简洁的进行元素交换

var list=['a','b','c','d','e','f'];

// 索引为1('b'),3('d')互换

[list[1],list[3]]=[list[3],list[1]];

console.log(list);

>>> (6) ['a', 'd', 'c', 'b', 'e', 'f']

等号左右两边模式相同,就会将右边的值赋给左边的变量

---------------------
作者:没有天赋全靠手打
来源:CSDN
原文:https://blog.csdn.net/qq_45494634/article/details/114674162
版权声明:本文为作者原创文章,转载请附上博文链接!
内容解析By:CSDN,CNBLOG博客文章一键转载插件