JS算法面試題-不借助臨時(shí)變量,進(jìn)行兩個(gè)整數(shù)的交換
**1、數(shù)組解構(gòu)**
```js
let a = 2,
b = 3;
[b,a] = [a,b]
console.log(a,b) // 3 2
```
**2、算術(shù)運(yùn)算(加減)**
```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、邏輯運(yùn)算(異或)**
```js
let a = 2,
b = 3;
const swop = (a, b) => {
a ^= b; //x先存x和y兩者的信息
b ^= a; //保持x不變,利用x異或反轉(zhuǎn)y的原始值使其等于x的原始值
a ^= b; //保持y不變,利用x異或反轉(zhuǎn)y的原始值使其等于y的原始值
return [a,b];
}
console.log(swop(2,3)) // [3,2]
```
更多關(guān)于web培訓(xùn)的問(wèn)題,歡迎咨詢千鋒教育在線名師。千鋒教育擁有多年IT培訓(xùn)服務(wù)經(jīng)驗(yàn),采用全程面授高品質(zhì)、高體驗(yàn)培養(yǎng)模式,擁有國(guó)內(nèi)一體化教學(xué)管理及學(xué)員服務(wù),助力更多學(xué)員實(shí)現(xiàn)高薪夢(mèng)想。