Home > Article > Web Front-end > How to convert two variables using es6
4 implementations: 1. Use binary XOR method to exchange values, syntax "a = a ^ b;b = a ^ b; a = a ^ b;" or "a=(b^ =a^=b)^a;"; 2. Use array subscripts to exchange, the syntax is "a=[a, b];b=a[0];a=a[1]; "; 3. Array special Replacement method, syntax "a = [b, b = a][0];"; 4. Extract and assign values to array elements, syntax "[a, b] = [b, a];".
The operating environment of this tutorial: Windows 10 system, ECMAScript version 6, Dell G3 computer.
Method 1: XOR substitution method
Program analysis: The binary XOR method is used to exchange values. Characteristics of XOR: the same number is 0, and the odd number is 1; the values input by the user are converted into binary respectively, and then XOR is performed. The XOR symbol in JS uses shift 6. After two XORs, it is still the same. This enables the exchange of two numbers.
Note: Its transformation form: a = (b^=a^=b)^a;[One line of code to replace two numbers】
nbsp;html> <meta> <meta> <meta> <title>Document</title> <script> // 方法一:异或置换法(同数为0,异数为1) var a = prompt('请输入a的值'); var b = prompt('请输入b的值'); a = a ^ b; b = a ^ b; a = a ^ b; //a = (b ^= a ^= b) ^ a; //与上面三行实现同理只是变成一行代码 document.write('交换后a的值是' + a + '<br>', '交换后b的值是' + b); </script>
Run result:
##Method Two: Array Special Replacement Method [Advanced]
Program Analysis:The specific method used here is The array method converts two numbers directly. First, assuming a=6,b=9, then a=[9,b=a][0]>>>a=[9,b=6][ 0]>>>a=[9,6][0]>>>b=6>>>a[0]=9>>>a=9.
nbsp;html> <meta> <meta> <meta> <title>Document</title> <script> // 方法二:数组置换法 var a = prompt('请输入a的值'); var b = prompt('请输入b的值'); a = [b, b = a][0]; document.write('交换后a的值是' + a + '<br>', '交换后b的值是' + b); </script>
Method Three: Array Ordinary Replacement Method
##Program Analysis: The ordinary array replacement method is used here. First, the values of a and b are stored in the array a[a,b]. Secondly, the value of a[0] is assigned to b, and then a[1 ] is assigned to a. Failure to do so will result in the values of a and b being equal. nbsp;html>
<meta>
<meta>
<meta>
<title>Document</title>
<script>
// 方法三:数组普通置换法
var a = prompt('请输入a的值');
var b = prompt('请输入b的值');
a = [a, b]; //接收用户输入的值
document.write('交换前a,b的值是' + a + '<br>');
b = a[0]; //将第一值赋给b必须写在a的前面
a = a[1]; //将第二值赋给a
document.write(a);
document.write(b);
</script>
Method 4: ES6 assignment method
Program analysis: The ES6 replacement method is used here. Since ES6 allows us to extract arrays and objects, variable assignment can be performed to achieve direct exchange of two numbers. nbsp;html>
<meta>
<meta>
<meta>
<title>Document</title>
<script>
// 方法四:ES6赋值法
var a = prompt('请输入a的值');
var b = prompt('请输入b的值');
[a, b] = [b, a];
document.write('交换后a的值是' + a + '<br>', '交换后b的值是' + b);
</script>
【Related recommendations:
The above is the detailed content of How to convert two variables using es6. For more information, please follow other related articles on the PHP Chinese website!