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];"。
このチュートリアルの動作環境: Windows 10 システム、ECMAScript バージョン 6、Dell G3 コンピューター。
方法 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('请输入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>
実行結果:
##方法 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('请输入a的值'); var b = prompt('请输入b的值'); a = [b, b = a][0]; document.write('交换后a的值是' + a + '<br>', '交换后b的值是' + 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('请输入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>
方法 4: ES6 割り当て方法
プログラム分析: ここでは ES6 置換メソッドを使用します。ES6 では配列とオブジェクトを抽出できるため、変数の代入を実行して 2 つの数値を直接交換できます。 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>
、プログラミング ビデオ ]
以上がes6 を使用して 2 つの変数を変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。