Home  >  Article  >  Web Front-end  >  How to convert two variables using es6

How to convert two variables using es6

青灯夜游
青灯夜游Original
2022-10-24 18:20:522266browse

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];".

How to convert two variables using es6

The operating environment of this tutorial: Windows 10 system, ECMAScript version 6, Dell G3 computer.

es6 4 ways to realize the conversion of two variables

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(&#39;请输入a的值&#39;);
        var b = prompt(&#39;请输入b的值&#39;);
        a = a ^ b;
        b = a ^ b;
        a = a ^ b;
        //a = (b ^= a ^= b) ^ a; //与上面三行实现同理只是变成一行代码
        document.write(&#39;交换后a的值是&#39; + a + &#39;<br>&#39;, &#39;交换后b的值是&#39; + b);
    </script>


Run result:

How to convert two variables using es6

How to convert two variables using es6

How to convert two variables using es6

##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(&#39;请输入a的值&#39;);
        var b = prompt(&#39;请输入b的值&#39;);
        a = [b, b = a][0]; 
        document.write(&#39;交换后a的值是&#39; + a + &#39;<br>&#39;, &#39;交换后b的值是&#39; + 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(&#39;请输入a的值&#39;);
        var b = prompt(&#39;请输入b的值&#39;);
        a = [a, b]; //接收用户输入的值
        document.write(&#39;交换前a,b的值是&#39; + a + &#39;<br>&#39;);
        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(&#39;请输入a的值&#39;);
        var b = prompt(&#39;请输入b的值&#39;);
        [a, b] = [b, a];
        document.write(&#39;交换后a的值是&#39; + a + &#39;<br>&#39;, &#39;交换后b的值是&#39; + b);
    </script>


【Related recommendations:

javascript video tutorial

, programming video

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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn