此题提供两种解题方案:1.ES6解构赋值 2.使用异或运算(^)
大家可以将其他方案写在评论区,一起交流学习,不足之处望海涵!
let a, b, reset;
[a, b] = [10, 20]
console.log(a, b) // 10 20
[a, b, ...reset] = [10, 20, 30, 40]
console.log(a, b, reset) // 10 20 [30, 40]
let c = 3, d = 4;
[c, d] = [d, c]
console.log(c, d) // 4 3
let a = 3, d = 4;
// 3的二进制为0011,4的二进制为0100
a ^ d = 0011 ^ 0100 = 0111 = 7
let c = 3, d = 4;
c = c ^ d = 0011 ^ 0100 = 0111
d = c ^ d = 0111 ^ 0100 = 0011
c = c ^ d = 0111 ^ 0011 = 0100
console.log(c, d) // 4 3
原文:https://www.cnblogs.com/huiwenhua/p/13578821.html