JavaScript 如何交换两个变量
交换过程是指将一个变量的值更改为另一个变量的值。在本文中,我们将学习使用不同的方法交换两个变量。
我们将使用以下几种方式来交换变量:
- 使用第三个变量。
- 不使用第三个变量。
- 使用解构赋值。
方法1:使用第三个变量: 在这种方法中,我们创建一个临时变量来保存一个变量的值,以执行交换操作。
-
假设我们创建一个 temp 变量来存储变量A的值。
- 然后将 B的值复制到A (A将被覆盖)。
-
然后将 temp的值复制到B (之前的A的值)。
语法:
temp = a;
a = b;
b = temp;
注意: 在这里,temp是我们用来交换变量a和b的新的第三个变量。
示例:
HTML
<script>
var a = 20;
var b = 10;
var temp;
console.log(`before swapping: a= {a}`);
console.log(`before swapping b={b}`);
temp = a;
a = b;
b = temp;
console.log(`after swapping a= {a}`);
console.log(`after swapping b={b}`);
</script>
输出:
before swapping: a= 20
before swapping b= 10
after swapping a= 10
after swapping b= 20
方法2:不使用第三个变量: 在这里,我们将使用算术运算来交换2个值。
- 首先,我们将a + b加到a上(因为a比b大)。
- 现在我们从a中减去b,所以b的值现在可以赋给b。
- 现在我们再次将a与b相减,将结果赋给a,这样a将拥有b的值。
语法:
a = a + b;
b = a - b;
a = a - b;
示例:
HTML
<script>
var a=10;
var b=20;
console.log(`before swap a= {a}`);
console.log(`before swap a={b}`);
a=a+b;//10=10+20 now a would be 30
b=a-b;//20=30-10 now b would be 10
a=a-b;//30=30-10 so a would be now 20
console.log(`after swap a= {a}`);
console.log(`after swap a={b}`);
</script>
输出:
before swap a= 10
before swap a= 20
after swap a= 20
after swap a= 10
方法3:使用解构赋值:
在这里,我们将使用解构赋值。
解构赋值使得从数组、对象或其他属性中解开值并赋给不同的变量成为可能。
语法:
[b,a]=[a,b];
示例:
HTML
<script>
var a=40;
var b=30;
console.log(`before swap a= {a}`);
console.log(`before swap a={b}`);
// a would be swapped to b and b would be swapped to a
[b,a]=[a,b];
console.log(`after swap a= {a}`);
console.log(`after swap a={b}`);
</script>
输出:
before swap a= 40
before swap a= 30
after swap a= 30
after swap a= 40
注意: 当涉及到大量数据时,解构赋值可能会很有用。
在哪里使用哪种方法?
- 如果操作与数值相关,可以使用算术运算符(第二种方法)来交换值。
- 如果操作与字符串或布尔类型等其他类型相关,可以使用第一种方法。
极客教程