JS算法面试题:不借助临时变量,进行两个整数的交换
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培训服务经验,采用全程面授高品质、高体验培养模式,拥有国内一体化教学管理及学员服务,助力更多学员实现高薪梦想。