ホームページ >ウェブフロントエンド >フロントエンドQ&A >es6 を使用して 2 つの変数を変換する方法

es6 を使用して 2 つの変数を変換する方法

青灯夜游
青灯夜游オリジナル
2022-10-24 18:20:522293ブラウズ

4 実装: 1. バイナリ XOR メソッドを使用して値を交換します (構文 "a = a ^ b;b = a ^ b; a = a ^ b;" または "a=(b^ =a^) =b)^a;"; 2. 配列の添字を使用して交換します。構文は "a=[a, b];b=a[0];a=a[1]; "; 3. 配列の特殊な置換方法、構文 "a = [b, b = a][0];"; 4. 値を抽出して配列要素に代入します、構文 "[a, b] = [b, a];"。

es6 を使用して 2 つの変数を変換する方法

このチュートリアルの動作環境: Windows 10 システム、ECMAScript バージョン 6、Dell G3 コンピューター。

es6 2 つの変数の変換を実現する 4 つの方法

方法 1: XOR 置換方法

プログラム分析: 値の交換にはバイナリ XOR メソッドが使用されます。 XOR の特徴: 同じ数は 0、奇数は 1; ユーザーが入力した値をそれぞれ 2 進数に変換して XOR を実行します。JS の XOR 記号はシフト 6 を使用します。2 つの XOR の後、これにより、2 つの番号を交換できるようになります。

注: その変換形式: a = (b^=a^=b)^a;[2 つの数値を置き換える 1 行のコード ]

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>


実行結果:

es6 を使用して 2 つの変数を変換する方法

es6 を使用して 2 つの変数を変換する方法

es6 を使用して 2 つの変数を変換する方法

##方法 2: 配列の特別な置換方法 [上級]

プログラム分析:ここで使用される具体的な方法is 配列メソッドは 2 つの数値を直接変換します。まず、a=6,b=9 と仮定すると、a=[9,b=a][0]>>>a=[9,b=6][ 0 ]>>>gt;>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>


方法 3: 配列の通常の置換方法

##プログラム分析: ここでは通常の配列置換方法を使用します。まず、aとbの値を配列a[a,b]に格納します。次に、a[0]の値をbに代入し、次にaを代入します。 a には [1 ] が代入されます。そうしないと、a と b の値が等しくなります。

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>


方法 4: ES6 割り当て方法

プログラム分析: ここでは ES6 置換メソッドを使用します。ES6 では配列とオブジェクトを抽出できるため、変数の代入を実行して 2 つの数値を直接交換できます。

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>


【関連する推奨事項:

JavaScript ビデオ チュートリアル

プログラミング ビデオ ]

以上がes6 を使用して 2 つの変数を変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。