JS算法面試題-不借助臨時變量,進行兩個整數的交換
**1、數組解構**
```js
let a = 2,
b = 3;
[b,a] = [a,b]
console.log(a,b) // 3 2
```
**2、算術運算(加減)**
```js
輸入a = 2,b = 3,輸出 a = 3,b = 2
let a = 2,
b = 3;
const swop = (a, b) => {
b = b - a;
a = a + b;
b = a - b;
return [a,b];
}
console.log(swop(2,3)) // [3,2]
```
**3、邏輯運算(異或)**
```js
let a = 2,
b = 3;
const swop = (a, b) => {
a ^= b; //x先存x和y兩者的信息
b ^= a; //保持x不變,利用x異或反轉y的原始值使其等于x的原始值
a ^= b; //保持y不變,利用x異或反轉y的原始值使其等于y的原始值
return [a,b];
}
console.log(swop(2,3)) // [3,2]
```
更多關于web培訓的問題,歡迎咨詢千鋒教育在線名師。千鋒教育擁有多年IT培訓服務經驗,采用全程面授高品質、高體驗培養模式,擁有國內一體化教學管理及學員服務,助力更多學員實現高薪夢想。