整数交换
将每天看到的优秀的代码或者特别的实现,记录下来
2019-2-22
整数交换
- let a = 3,b = 4 变成 a = 4, b = 3
普通写法
比较繁琐
let a = 3,b = 4
let temp = a
a = b
b = temp
console.log(a, b)
进阶版
在不引入中间变量的情况下也能交互两个变量
let a = 3,b = 4
a += b
b = a - b
a -= b
console.log(a, b)
终极版
利用一个数异或本身等于0和异或运算符合交换率。
let a = 3,b = 4
a ^= b
b ^= a
a ^= b
console.log(a, b)
究极版
ES6解构
var a = 3,b = 4;
[b, a] = [a, b]