// 实现两个数的交换问题
举个栗子:
//输入:
var num1 =10;
var num2 = 20;
//输出结果:
num1 = 20;
num2 = 10;
1.方法一:
- 使用中间变量进行交换两个数
var num1 = 10;
var num2 = 20;
var tmp = num1;
num1 = num2;
num2 = tmp;//实现了两个数的交换,由于声明中间变量,浪费内存
console.log(`num1 = ${num1} \t num2 = ${num2}`);
2.方法二:
- 使用加法和减法实现两个数交换
var num1 = 10;
var num2 = 20;
num1 = num1 + num2;
num2 = num1 - num2;
num1 = num1 - num2;
console.log(`num1 = ${num1} \t num2 = ${num2}`);
3.方法三:
- 使用^解决
var num1 = 10;
var num2 = 20;
num1 = num1 ^ num2;
num2 = num1 ^ num2;
num1 = num1 ^ num2;
console.log(`num1 = ${num1} \t num2 = ${num2}`);
4.方法四:
- 使用JavaScript的动态特性
var num1 = 10;
var num2 = 20;
num1 = [num1,num2];
num2 = num1[1];
num1 = num1[0];
console.log(`num1 = ${num1} \t num2 = ${num2}`);
5.方法五:
- 使用ES6的特性解决
var num1 = 10;
var num2 = 20;
[num1,num2] = [num2,num1];