假定
let a = 1,b=10;
指望交換a和b的值
序號 | 實現方案 | 中間變量? | 備註 |
---|---|---|---|
1 | let c; c = a; a = b; b = c; |
✅ | |
2 | a ^= b; b ^=a; a ^=b |
MDN-按位操做符, 只適用Number類型 | |
3 | a = a + b; b = a - b; a = a - b; |
只適用Number類型 | |
4 | a = { a, b }; a = a.b; b = a.a |
||
5 | a = [a, b]; b = a[0]; a = a[1] |
||
6 | a = [b, b=a][0] |
有腦洞, b=a先執行 | |
7 | {a, b} = {a:b, b:a} |
對象解構賦值 | |
8 | [a, b] = [b, a] |
推薦, 數組解構賦值 |
簡書首發, 轉載請註明來自簡書GivenCui數組