Quatre méthodes pour échanger deux variables
Voici un petit post très simple qui vous montrera différentes manières d’échanger 2 variables.
Problématique
En tant que débutant, nous avons tendance à vouloir écrire ce type de code pour échanger une variable a et une variable b.
a = 5;b = 7;
a = b;b = a;
console.log(a, b); // Retourne 7 et 7Or cette technique ne fonctionne pas car nous écrasons la variable a au début que nous affectons à b. Du coup nous nous retrouvons avec deux variables ayant la même valeur.
Utilisation d’une variable temporaire
let a = 2;let b = 5;
tmp = a;a = b;b = tmp;
console.log(a, b); // Retourne 5 et 2Voici la première manière “algorithmique”. Cette technique consiste à utiliser une variable temporaire tmp, ce qui permet de sauvegarder la valeur de a avant de l’écraser.
Utilisation des mathématiques
Une technique consiste à utiliser le pouvoir des mathématiques, en stockant deux variables dans une seule.
let a = 2;let b = 5;
a = a - b;b = a + b;a = b - a;
console.log(a, b); // Retourne 5 et 2Cette technique, bien que plus compliqué au premier abord, peut être pertinente car elle utilise un emplacement de variable en moins.
Attention: cette technique ne fonctionne que si
a et b sont des entiers.
Utilisation d’une méthode fourbe
Voici une technique qui tient sur une seule ligne, avant l’arrivée de la déstructuration.
Cette technique à cependant pour défaut de ne pas être très lisible.
let a = 2;let b = 5;
b = [a, (a = b)][0];
console.log(a, b); // Retourne 5 et 2Utilisation de la déstructuration
Voici le Graal de l’inversion de variables qui se fait en une seule ligne. En plus d’être lisible, elle tient sur une seule ligne !
Une technique qui fonctionne sur la plupart des langages modernes (fonctionne en javascript et python) consiste à utiliser la déstructuration. Voici un exemple.
let a = 2;let b = 5;
[a, b] = [b, a];
console.log(a, b); // Retourne 5 et 2a,b = b,a - c’est le b.a-ba :D
Simplifiez les conditions avec les opérateurs logiques et opérateurs ternaires
Découvrez une nouvelle manière de simplifier votre code
Introduction à Vim
Devenez un super développeur grâce à Vim !
Écrivez plus vite en HTML avec Emmet
Ne vous embêtez plus avec les balises !
Introduction aux jobs linux
Gagnez en rapidité avec les jobs