Rumah > Artikel > hujung hadapan web > Bagaimana untuk menukar dua pembolehubah dalam JavaScript?
Kita akan belajar menggunakan pelbagai kaedah untuk menukar dua nilai pembolehubah dalam JavaScript. Marilah kita memahami maksud pertukaran dengan contoh. Sebagai contoh, kita mempunyai dua pembolehubah yang dipanggil pembolehubah 1 dan pembolehubah 2. Apabila kita memberikan nilai pembolehubah2 kepada pembolehubah1 dan nilai pembolehubah1 kepada pembolehubah2, kita boleh mengatakan bahawa kita telah menukar nilai pembolehubah1 dan pembolehubah2.
Kita boleh mencipta pembolehubah sementara, yang bermaksud mana-mana pembolehubah yang boleh menyimpan sementara nilai pembolehubah pertama. Selepas itu, kita boleh menetapkan nilai pembolehubah kedua kepada pembolehubah pertama. Seterusnya, kita boleh mendapatkan nilai pembolehubah pertama daripada pembolehubah sementara dan menetapkannya kepada pembolehubah kedua.
Pengguna boleh menggunakan pembolehubah sementara untuk menukar dua nilai pembolehubah mengikut sintaks berikut.
let temporaryVariable = variable1; variable1 = variable2; variable2 = temporaryVariable;
Dalam sintaks di atas, kami menyimpan nilai pembolehubah 1 ke dalam pembolehubah sementara. Selepas kita memberikan nilai pembolehubah2 kepada pembolehubah1 dan memberikan nilai pembolehubah sementara kepada pembolehubah2.
Dalam contoh di bawah, kami telah mencipta dua pembolehubah dan menetapkan nilai rentetan. Selain itu, kami menggunakan pembolehubah sementara untuk menukar dua nilai pembolehubah. Dalam output, pengguna dapat melihat bahawa nilai pembolehubah 1 dan pembolehubah 2 ditukar.
<html> <body> <h2>Using the <i> temporary variable </i> to swap two variable values in JavaScript</h2> <div id = "output"> </div> <script> let output = document.getElementById('output'); let variable1 = "Value1"; let variable2 = "Value2"; let temporaryVariable = variable1; variable1 = variable2; variable2 = temporaryVariable; output.innerHTML += "The value of the variable1 and variable2 after swaping are the <br/>"; output.innerHTML += "variable1 = " + variable1 + " variable2 = " + variable2; </script> </body> </html>
Dalam versi ES6 JavaScript, penstrukturan tatasusunan atau objek telah diperkenalkan. Dalam pemusnahan tatasusunan kita boleh menyimpan nilai tatasusunan ke dalam pembolehubah lain atau yang sama. Di sini kita akan mencipta tatasusunan dua pembolehubah dan memusnahkan tatasusunan untuk menukar dua pembolehubah.
Pengguna boleh menggunakan atribut pemusnah tatasusunan untuk menukar dua pembolehubah mengikut sintaks berikut.
[var2, var1] = [var1, var2];
Dalam sintaks di atas, kami menyimpan nilai var1 ke dalam var2 dan nilai var2 ke dalam var1.
Dalam contoh di bawah, kami menggunakan var1 dan var2. Selepas itu, kami mencipta tatasusunan dua pembolehubah menggunakan var1 dan var2. Apabila memusnahkan tatasusunan, kami menetapkan nilai var1 kepada pembolehubah var2 dan nilai var2 kepada pembolehubah var1.
<html> <body> <h2>Using the <i>Assignment destructuring property</i> to swap two variable values in JavaScript </h2> <div id="output"> </div> <script> let output = document.getElementById('output'); let var1 = 20; let var2 = 10; function swapVariables() { [var2, var1] = [var1, var2]; output.innerHTML += "The value of the var1 and var2 after swaping are the <br/>"; output.innerHTML += "var1 = " + var1 + " var2 = " + var2; } swapVariables() </script> </body> </html>
Kita boleh menggunakan pengendali aritmetik darab dan bahagi untuk menukar dua nombor. Untuk menukar dua pembolehubah, kita boleh melakukan operasi aritmetik pada dua nilai berangka.
Pengguna boleh menggunakan operator aritmetik untuk menukar dua nilai pembolehubah berangka mengikut sintaks berikut.
num1 = num1 * num2; num2 = num1 / num2; num1 = num1 / num2;
Dalam sintaks di atas, kita mula-mula mendarab dua nombor dan menyimpannya dalam pembolehubah num1. Selepas itu, kami membahagikan pembolehubah num1 baharu (num1 * num2) dengan pembolehubah num2 dan menyimpannya dalam pembolehubah num2. Seterusnya, kami membahagikan num1 (num1*num2) yang dikemas kini dengan num2 yang dikemas kini dan menyimpannya dalam pembolehubah num1.
Dalam contoh di bawah, fungsi swapNumbers() menukar dua nilai angka. Dalam output contoh di bawah, pengguna boleh melihat nilai awal pembolehubah num1 dan num2 dan nilai selepas menukar dua pembolehubah.
<html> <body> <h2>Using the <i>Arithmetic operators</i> to swap two variable values in JavaScript</h2> <div id = "output"> </div> <button onclick = "swapNumbers()"> Swap variables </button> <script> let output = document.getElementById('output'); function swapNumbers() { let num1 = 2; let num2 = 4; output.innerHTML += output.innerHTML += "num1 = " + num1 + " num2 = " + num2 + "<br/>"; num1 = num1 * num2; // num1 == 8 (2*4) num2 = num1 / num2; // num2 == 2 (8/4) num1 = num1 / num2; // num1 == 4, (8/2) output.innerHTML += "The value of the num1 and num2 after swaping are the <br/>"; output.innerHTML += "num1 = " + num1 + " num2 = " + num2; } </script> </body> </html>
Apabila kita XOR sebarang nombor dengan dirinya, ia mengembalikan sifar. Oleh itu, kami akan menggunakan sifat pengendali XOR bitwise ini untuk menukar dua nilai.
Pengguna boleh menggunakan operator XOR bitwise untuk menukar dua nombor mengikut sintaks berikut.
num1 = num1 ^ num2; // num1 == num1 ^ num2 num2 = num1 ^ num2; // num2 == (num1 ^ num2) ^ num2 == num1 num1 = num1 ^ num2; // num1 == (num1 ^ num2) ^ num1 == num2
Dalam sintaks di atas, kami melakukan tiga operasi XOR bitwise pada num1 dan num2, dan menukar nilai pembolehubah num1 dan num2 dua kali.
Dalam contoh di bawah, apabila pengguna mengklik butang pembolehubah swap, kotak gesaan akan muncul untuk input berangka. Kemudian, dalam output, pengguna boleh melihat nilai yang ditukar.
<html> <body> <h2>Using the <i>Bitwise XOR operator</i> to swap two variable values in JavaScript</h2> <div id="output"> </div> <button onclick = "swapNumbers()">Swap variables</button> <script> let output = document.getElementById('output'); function swapNumbers() { let num1 = prompt("Enter first number value", 10); let num2 = prompt("Enter second number value", 20); output.innerHTML += output.innerHTML += "num1 = " + num1 + " num2 = " + num2 + "<br/>"; num1 = num1 ^ num2; num2 = num1 ^ num2; num1 = num1 ^ num2; output.innerHTML += "The value of the num1 and num2 after swaping are the <br/>"; output.innerHTML += "num1 = " + num1 + " num2 = " + num2; } </script> </body> </html>
Pengguna boleh menggunakan kaedah pertama dan kedua untuk menukar semua pembolehubah, seperti rentetan, boolean, nombor, dsb. Kaedah ketiga dan keempat hanya berfungsi untuk mengisih nilai berangka.
Atas ialah kandungan terperinci Bagaimana untuk menukar dua pembolehubah dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!