JavaScript实现两个变量值交换
Contents
一个经典的问题,“两个变量之间值的交换”。
1、 引入临时变量进行数据交换
1 | tmp = a; |
引入临时变量,最最基本的方法,看着很low,但效率确实很高,经典的才是最优雅的。
2、 用对象进行数据交换
1 | a = {a : b, b : a}; |
利用对象的键值对进行数据交换
3、用数组进行数据交换(一)
1 | a = [a, b]; |
利用数组下标进行数据交换
4、用数组进行数据交换(二)
1 | a = [b,b=a][0]; |
5、用异或操作进行数据交换(一)
1 | a ^=b; |
6、用异或操作进行数据交换(二)
1 | a = (b = (a ^= b) ^ b) ^ a; |
7、用数字之间的加减运算实现数据交换(仅适用于数字)(一)
1 | a = a + b; |
8、用数字之间的加减运算实现数据交换(仅适用于数字)(二)
1 | a = b -a +(b = a); |
9、用ES6的解构赋值语法实现数据交换
1 | [a,b] = [b,a]; |
扩展:交换数组中的两个元素(用数组的splice() 方法)
1 | array = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]; |