Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk menukar dua pembolehubah menggunakan es6

Bagaimana untuk menukar dua pembolehubah menggunakan es6

青灯夜游
青灯夜游asal
2022-10-24 18:20:522267semak imbas

4 pelaksanaan: 1. Gunakan kaedah XOR binari untuk menukar nilai, sintaks "a = a ^ b;b = a ^ b; a = a ^ b;" atau "a=(b^ =a^ =b)^a;"; 2. Gunakan subskrip tatasusunan untuk bertukar, sintaksnya ialah "a=[a, b];b=a[0];a=a[1]; "; 3. Kaedah Penggantian khas tatasusunan , sintaks "a = [b, b = a][0];"; 4. Ekstrak dan tetapkan nilai kepada elemen tatasusunan, sintaks "[a, b] = [b, a];".

Bagaimana untuk menukar dua pembolehubah menggunakan es6

Persekitaran pengendalian tutorial ini: sistem Windows 10, ECMAScript versi 6, komputer Dell G3.

4 cara untuk menukar dua pembolehubah dalam es6

Kaedah 1: Kaedah penggantian XOR

Analisis program: Di sini, kaedah XOR binari digunakan untuk menukar nilai. Ciri-ciri XOR: nombor yang sama ialah 0, dan nombor ganjil ialah 1; nilai-nilai yang dimasukkan oleh pengguna masing-masing ditukar kepada binari, dan kemudian XOR dilakukan dalam JS menggunakan anjakan 6. Selepas dua XOR, ia masih sama. Ini membolehkan pertukaran dua nombor.

Nota: Bentuk transformasinya: a = (b^=a^=b)^a;[Satu baris kod untuk menggantikan dua nombor

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>


Hasil jalankan:

Bagaimana untuk menukar dua pembolehubah menggunakan es6

Bagaimana untuk menukar dua pembolehubah menggunakan es6

Bagaimana untuk menukar dua pembolehubah menggunakan es6

Kaedah Kedua: Kaedah Penggantian Khas Tatasusunan [Lanjutan]

Analisis Program: Digunakan di sini Ia adalah kaedah untuk tatasusunan tertentu Ia menukarkan dua nombor secara langsung, dengan mengandaikan a=6,b=9, kemudian 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>


Kaedah Tiga: Kaedah Penggantian Tatasusunan Biasa

Analisis Program: Kaedah penggantian tatasusunan biasa digunakan di sini Pertama, nilai a dan b disimpan dalam tatasusunan a[a,b]. dan kemudian a ialah Nilai [1] diberikan kepada a Kegagalan berbuat demikian akan menyebabkan nilai a dan b adalah sama.

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>


Kaedah 4: Kaedah tugasan ES6

Analisis program: Kaedah penggantian ES6 digunakan di sini Memandangkan ES6 membenarkan kami mengekstrak tatasusunan dan objek, tugasan pembolehubah boleh dilakukan untuk mencapai pertukaran terus dua nombor.

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>


[Cadangan berkaitan: tutorial video javascript, Video pengaturcaraan]

Atas ialah kandungan terperinci Bagaimana untuk menukar dua pembolehubah menggunakan es6. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:Apakah kegunaan set es6?Artikel seterusnya:Apakah kegunaan set es6?