HOWTO · JavaScript

Comparer des chaînes en JavaScript

JavaScript peut comparer deux chaînes avec sa méthode localeCompare() qui renvoie le résultat en -1, 1, 0. Cela implique que si une chaîne correspond à la chaîne comparable, la méthode renvoie 0, si elle est supérieure, elle renvoie 1, sinon elle renvoie -1.

Si nous voulons comparer une chaîne en JavaScript, la tâche correspondante est effectuée par la méthode localeCompare(). Vous pouvez également définir une fonction qui peut se terminer par des cas préférables.

Ici, nous divulguerons environ deux manières de comparer deux chaînes. L’une est par la méthode localeCompare() et l’autre par la fonction définie par l'utilisateur.

Comparer des chaînes avec la méthode localeCompare() en JavaScript

Dans ce cas, nous comparerons string1 avec string2. Le résultat piloté donne trois types de retour, -1, 0, 1.

  • Si string1 est après (supérieur alphabétiquement, ou chronologiquement) à string2, la valeur de retour sera 1.
  • Si string1 est avant (plus petit que) string2, la méthode retournera -1.
  • S’ils sont identiques, la valeur de retour sera 0.

L’exemple suivant se concentrera sur la méthode localeCompare() pour comparer des chaînes.

Extrait de code:

var string1 = 'apple';
var string2 = 'banana';
var string3 = 'banana';

console.log(string1.localeCompare(string2));
console.log(string2.localeCompare(string1));
console.log(string3.localeCompare(string2));

Production :

-1
1
0

Comparer deux chaînes avec une fonction définie par l’utilisateur en JavaScript

Ici, nous avons initialisé une fonction compare qui prend en argument deux chaînes comparables. Il existe également un segment conditionnel pour définir les cas de retour. En conséquence, nous obtiendrons des cas de retour en fonction du lecteur de fonction.

Extrait de code:

var string1 = 'apple';
var string2 = 'banana';
var string3 = 'banana';

function compare(string1, string2) {
  if (string1 < string2) {
    return -1;
  } else if (string1 > string2) {
    return 1;
  } else {
    return 0;
  }
}

console.log(compare(string1, string2));
console.log(compare(string2, string1));
console.log(compare(string2, string3));

Production :

-1
1
0