📜  交换两个变量的JavaScript程序

📅  最后修改于: 2020-09-27 05:34:58             🧑  作者: Mango

在此示例中,您将学习编写程序以使用各种方法在JavaScript中交换两个变量。

示例1:使用临时变量
//JavaScript program to swap two variables

//take input from the users
let a = prompt('Enter the first variable: ');
let b = prompt('Enter the second variable: ');

//create a temporary variable
let temp;

//swap variables
temp = a;
a = b;
b = temp;

console.log(`The value of a after swapping: ${a}`);
console.log(`The value of b after swapping: ${b}`);

输出

Enter the first variable: 4
Enter the second variable: 2
The value of a after swapping: 2
The value of b after swapping: 4

这里,

  1. 我们创建了一个临时变量来临时存储值。
  2. 我们将b的值分配给a
  3. temp的值分配给b

结果,变量的值被交换。

注意:您也可以使用此方法交换字符串或其他数据类型。


示例2:使用es6(ES2015)解构分配
//JavaScript program to swap two variables

//take input from the users
let a = prompt('Enter the first variable: ');
let b = prompt('Enter the second variable: ');

//using destructuring assignment
[a, b] = [b, a];

console.log(`The value of a after swapping: ${a}`);
console.log(`The value of b after swapping: ${b}`);

输出

Enter the first variable: 4
Enter the second variable: 2
The value of a after swapping: 2
The value of b after swapping: 4

在这里,称为分解分配[a, b] = [b, a]的新es6功能用于交换两个变量的值。如果[a, b] = [1, 2, 3] ,则a的值为1b的值为2

  • 首先创建一个临时数组[b,a] 。此处[b,a]的值为[ [2, 4]
  • 完成数组的解构,即[a, b] = [2, 4]

结果,变量的值被交换。

您可以在JavaScript Spread Operator和Destructing Assignment中了解有关解构的更多信息

注意 :您也可以使用此方法交换字符串或其他数据类型。


您也可以使用算术运算 运算符交换变量的值。

示例3:使用算术运算符
//JavaScript program to swap two variables

//take input from the users
let a = parseInt(prompt('Enter the first variable: '));
let b = parseInt(prompt('Enter the second variable: '));

// addition and subtraction operator
a = a + b;
b = a - b;
a = a - b;

console.log(`The value of a after swapping: ${a}`);
console.log(`The value of b after swapping: ${b}`);

输出

Enter the first variable: 4
Enter the second variable: 2
The value of a after swapping: 2
The value of b after swapping: 4

此方法仅使用两个变量,并使用算术运算运算符 +-交换变量的值。

这里, parseInt()的使用,因为prompt()需要从所述用户作为字符串输入。当添加数字字符串时,它表现为字符串。例如, '2' + '3' = '23' 。因此parseInt()将数字字符串转换为数字。

要了解有关类型转换的更多信息,请转到JavaScript类型转换。

让我们看看上面的程序如何交换值。最初, a4b2

  • a = a + b将值4 + 2分配给a (现在为6 )。
  • b = a - b分配值6 - 2b(现在4)。
  • a = a - b赋值6 - 4 (现在的2)。

最后, a2b4

注意 :如果两个变量都是数字类型,则可以使用算术运算运算符( +- )。


示例4:使用按位XOR 运算符
//JavaScript program to swap two variables

//take input from the users
let a = prompt('Enter the first variable: ');
let b = prompt('Enter the second variable: ');

// XOR operator
a = a ^ b
b = a ^ b
a = a ^ b

console.log(`The value of a after swapping: ${a}`);
console.log(`The value of b after swapping: ${b}`);

输出

Enter the first variable: 4
Enter the second variable: 2
The value of a after swapping: 2
The value of b after swapping: 4

如果两个操作数都不相同,则按位XOR 运算符的计算结果为true 。要了解有关按位运算运算符的更多信息,请访问JavaScript按位运算符

让我们看看上面的程序如何交换值。最初, a4b2

  • a = a ^ b将值4 ^ 2分配给a (现在为6 )。
  • b = a ^ b将值6 ^ 2分配给b (现在为4 )。
  • a = a ^ b将值6 ^ 4分配给a (现在为2)。

最后, a2b4

注意 :只能将此方法用于整数(整数)值。