I det här exemplet lär du dig att skriva ett program för att byta två variabler i JavaScript med olika metoder.
För att förstå detta exempel bör du ha kunskap om följande JavaScript-programmeringsämnen:
- JavaScript-variabler och konstanter
- JavaScript-operatörer
Exempel 1: Använda en tillfällig variabel
//JavaScript program to swap two variables //take input from the users let a = prompt('Enter the first variable: '); let b = prompt('Enter the second variable: '); //create a temporary variable let temp; //swap variables temp = a; a = b; b = temp; console.log(`The value of a after swapping: $(a)`); console.log(`The value of b after swapping: $(b)`);
Produktion
Ange den första variabeln: 4 Ange den andra variabeln: 2 Värdet på a efter byte: 2 Värdet på b efter byte: 4
Här,
- Vi skapade en tempvariabel för att lagra värdet på en temporär.
- Vi tilldelade värdet b till a.
- Värdet på temp tilldelas b
Som ett resultat byts värdet på variablerna.
Obs! Du kan också byta strängar eller andra datatyper med den här metoden.
Exempel 2: Använda es6 (ES2015) Destruktureringsuppgift
//JavaScript program to swap two variables //take input from the users let a = prompt('Enter the first variable: '); let b = prompt('Enter the second variable: '); //using destructuring assignment (a, b) = (b, a); console.log(`The value of a after swapping: $(a)`); console.log(`The value of b after swapping: $(b)`);
Produktion
Ange den första variabeln: 4 Ange den andra variabeln: 2 Värdet på a efter byte: 2 Värdet på b efter byte: 4
Här används en ny es6-funktion, kallad destruktureringsuppgift (a, b) = (b, a)
, för att byta värdet på två variabler. Om (a, b) = (1, 2, 3)
, kommer a-värdet att vara 1 och värdet på b är 2 .
- Först skapas en tillfällig matris (b, a). Här kommer värdet av (b, a) att vara
(2, 4)
. - Destruktureringen av arrayen är gjort, dvs
(a, b) = (2, 4)
.
Som ett resultat byts värdet på variablerna.
Du kan lära dig mer om destruktion i JavaScript Destructing Assignment.
Obs! Du kan också byta strängar eller andra datatyper med den här metoden.
Du kan också byta variabelns värden med hjälp av de aritmetiska operatorerna.
Exempel 3: Använda aritmetiska operatörer
//JavaScript program to swap two variables //take input from the users let a = parseInt(prompt('Enter the first variable: ')); let b = parseInt(prompt('Enter the second variable: ')); // addition and subtraction operator a = a + b; b = a - b; a = a - b; console.log(`The value of a after swapping: $(a)`); console.log(`The value of b after swapping: $(b)`);
Produktion
Ange den första variabeln: 4 Ange den andra variabeln: 2 Värdet på a efter byte: 2 Värdet på b efter byte: 4
Den här metoden använder endast de två variablerna och byter värdet på variablerna med hjälp av aritmetiska operatorer +
och -
.
Här parseInt()
används för att prompt()
ta inmatning från användaren som en sträng. Och när numeriska strängar läggs till fungerar den som en sträng. Till exempel '2' + '3' = '23'
. Så parseInt()
konverterar en numerisk sträng till nummer.
Om du vill veta mer om typkonvertering går du till JavaScript-typkonverteringar.
Låt oss se hur ovanstående program byter värden. Inledningsvis är a 4 och b är 2 .
a = a + b
tilldelar värdet4 + 2
till a (nu 6 ).b = a - b
tilldelar värdet6 - 2
till b (nu 4 ).a = a - b
tilldela värdet6 - 4
till a (nu 2).
Slutligen är a 2 och b är 4 .
Obs! Du kan använda aritmetiska operatorer ( +
, -
) om båda variablerna är av nummertyp.
Exempel 4: Använda Bitwise XOR-operatör
//JavaScript program to swap two variables //take input from the users let a = prompt('Enter the first variable: '); let b = prompt('Enter the second variable: '); // XOR operator a = a b b = a b a = a b console.log(`The value of a after swapping: $(a)`); console.log(`The value of b after swapping: $(b)`);
Produktion
Ange den första variabeln: 4 Ange den andra variabeln: 2 Värdet på a efter byte: 2 Värdet på b efter byte: 4
Bitvis XOR-operatör utvärderar true
om båda operanderna är olika. Om du vill lära dig mer om bitvisa operatörer besöker du JavaScript Bitwise-operatörer.
Låt oss se hur ovanstående program byter värden. Inledningsvis är a 4 och b är 2 .
a = a b
tilldelar värdet4 2
till a (nu 6 ).b = a b
tilldelar värdet6 2
till b (nu 4 ).a = a b
tilldela värdet6 4
till a (nu 2).
Slutligen är a 2 och b är 4 .
Obs! Du kan endast använda denna metod för heltal (heltal).