Vários métodos de troca de valores

Quando escrevemos programas, geralmente encontramos situações em que os valores de dois números são trocados. Então, podemos resolvê-los pelos seguintes métodos ou podemos encapsulá-los em funções e chamá-los diretamente quando precisarmos usá-los.

Método 1:
Resolva com o operador OU exclusivo (^) sem usar a terceira variável

<script>
        var a=1;
        var b=2;
 
        a=a^b;
        b=a^b;
        a=a^b;

        console.log(a,b);
    </script>

Insira a descrição da imagem aqui
Converta dois números em binário, compare-os bit a bit, tome 0 para o mesmo e tome 1 para o mesmo e obtenha o terceiro valor; desta forma, as seguintes expressões são calculadas para alcançar o efeito de troca de valores;
o processo é tão segue:
a = a ^ b
a: 0001
b: 0010
resultado: 0011–> a = 3
b = a ^ b
a: 0011
b: 0010
resultado: 0001–> b = 1
a = a ^ b;
a: 0011
b : 0001
resultado: 0010 -> a = 2
Método 2: Sem variáveis ​​de terceiros (adição e subtração);

<script>
    var a=2;
    var b=3;

    a=a+b;   //表达式1
    b=a-b;   //表达式2
    a=a-b;   //表达式3

    console.log(a,b);
</script>

Insira a descrição da imagem aqui
A expressão acima pode ser convertida em:
b = expressão1-b = (a + b) -b = a; // resultado 1
a = (a + b) -resultado 1 = (a + b) -a = b;
troca valores através dos métodos de cálculo acima

Método 3: sem a ajuda de variáveis ​​de terceiros (multiplicação e divisão)

<script>
    var a=2;
    var b=3;

    a=a*b;
    b=a/b;
    a=a/b;
	
    console.log(a,b);
</script>

Insira a descrição da imagem aqui
O processo de cálculo é semelhante ao método dois;
método quatro: use a terceira variável

<script>
    var a = 4;
	var b = 5;
	var temp;
	temp = a;
	a = b;
	b = temp;
    console.log(a,b);
</script>

Insira a descrição da imagem aqui
Método 5: Use ES6 para desconstruir sem usar a terceira variável

<script>
    var a=5;
    var b=6;
    [a,b]=[b,a];
    console.log(a,b);
</script>

Insira a descrição da imagem aqui
Método 6: Com o auxílio da terceira variável,
com o auxílio de um array, armazene duas variáveis ​​e use as características do array para trocar seus valores

<script>
    var a=6;
    var b=7;
    var res=[a,b];
    a=res[1];
    b=res[0];
    console.log(a,b);
</script>

Insira a descrição da imagem aqui

Acho que você gosta

Origin blog.csdn.net/qq_44902858/article/details/110677732
Recomendado
Clasificación