Neste exemplo, você aprenderá a escrever um programa para trocar duas variáveis em JavaScript usando vários métodos.
Para entender este exemplo, você deve ter conhecimento dos seguintes tópicos de programação JavaScript:
- Variáveis e constantes de JavaScript
- Operadores de JavaScript
Exemplo 1: usando uma variável temporária
//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)`);
Resultado
Insira a primeira variável: 4 Insira a segunda variável: 2 O valor de a após a troca: 2 O valor de b após a troca: 4
Aqui,
- Criamos uma variável temporária para armazenar o valor de um temporariamente.
- Atribuímos o valor de b a a.
- O valor da temp é atribuído a b
Como resultado, os valores das variáveis são trocados.
Nota: Você também pode trocar strings ou outros tipos de dados usando este método.
Exemplo 2: Usando es6 (ES2015) Atribuição de desestruturação
//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)`);
Resultado
Insira a primeira variável: 4 Insira a segunda variável: 2 O valor de a após a troca: 2 O valor de b após a troca: 4
Aqui, um novo recurso es6, chamado atribuição de desestruturação (a, b) = (b, a)
, é usado para trocar o valor de duas variáveis. Se (a, b) = (1, 2, 3)
, o valor de a será 1 e o valor de b será 2 .
- Primeiro, um array temporário (b, a) é criado. Aqui, o valor de (b, a) será
(2, 4)
. - A desestruturação do array é feita, ou seja
(a, b) = (2, 4)
.
Como resultado, os valores das variáveis são trocados.
Você pode aprender mais sobre desestruturação em Atribuição de destruição de JavaScript.
Nota : Você também pode trocar strings ou outros tipos de dados usando este método.
Você também pode trocar os valores da variável usando os operadores aritméticos .
Exemplo 3: usando operadores aritméticos
//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)`);
Resultado
Insira a primeira variável: 4 Insira a segunda variável: 2 O valor de a após a troca: 2 O valor de b após a troca: 4
Este método usa apenas as duas variáveis e troca o valor das variáveis usando operadores aritméticos +
e -
.
Aqui, parseInt()
é usado porque prompt()
recebe a entrada do usuário como uma string. E quando strings numéricas são adicionadas, ele se comporta como uma string. Por exemplo '2' + '3' = '23'
,. Portanto, parseInt()
converte uma string numérica em número.
Para saber mais sobre a conversão de tipo, vá para Conversões de tipo JavaScript.
Vamos ver como o programa acima troca valores. Inicialmente, a é 4 e b é 2 .
a = a + b
atribui o valor4 + 2
a a (agora 6 ).b = a - b
atribui o valor6 - 2
a b (agora 4 ).a = a - b
atribua o valor6 - 4
a (agora 2).
Finalmente, a é 2 e b é 4 .
Nota : Você pode usar operadores aritméticos ( +
, -
) se ambas as variáveis forem do tipo numérico.
Exemplo 4: Usando o operador Bitwise XOR
//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)`);
Resultado
Insira a primeira variável: 4 Insira a segunda variável: 2 O valor de a após a troca: 2 O valor de b após a troca: 4
O operador XOR bit a bit avalia true
se os dois operandos são diferentes. Para saber mais sobre operadores bit a bit, visite Operadores bit a bit JavaScript.
Vamos ver como o programa acima troca valores. Inicialmente, a é 4 e b é 2 .
a = a b
atribui o valor4 2
a a (agora 6 ).b = a b
atribui o valor6 2
a b (agora 4 ).a = a b
atribua o valor6 4
a (agora 2).
Finalmente, a é 2 e b é 4 .
Nota : Você pode usar este método apenas para valores inteiros (número inteiro).