美文网首页让前端飞
JavaScript实现两个变量值交换

JavaScript实现两个变量值交换

作者: littleyu | 来源:发表于2018-12-27 11:12 被阅读2次
一个经典的问题,“两个变量之间值的交换”。

1、 引入临时变量进行数据交换

tmp = a;
a = b;
b = tmp; 

引入临时变量,最最基本的方法,看着很low,但效率确实很高,经典的才是最优雅的。

2、 用对象进行数据交换

a = {a : b, b : a};
b = a.b;
a = a.a;

利用对象的键值对进行数据交换

3、用数组进行数据交换(一)

a = [a, b];
b = a[0];
a = a[1];

利用数组下标进行数据交换

4、用数组进行数据交换(二)

a = [b,b=a][0];

5、用异或操作进行数据交换(一)

a ^=b;
b ^=a;
a ^=b;

6、用异或操作进行数据交换(二)

a = (b = (a ^= b) ^ b) ^ a;

7、用数字之间的加减运算实现数据交换(仅适用于数字)(一)

a = a + b;
b = a - b; 
a = a - b; 

8、用数字之间的加减运算实现数据交换(仅适用于数字)(二)

a = b -a +(b = a);

9、用ES6的解构赋值语法实现数据交换

[a,b] = [b,a];

扩展:交换数组中的两个元素(用数组的splice() 方法)

array = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
array[0] = array.splice(3, 1, array[0])[0]; //交换第0个和第3个元素

相关文章

网友评论

    本文标题:JavaScript实现两个变量值交换

    本文链接:https://www.haomeiwen.com/subject/wucrlqtx.html