dailyCode

2-22_整数交换

整数交换

将每天看到的优秀的代码或者特别的实现,记录下来

2019-2-22

整数交换

普通写法

比较繁琐

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]