Introduction
Dans ce laboratoire, nous allons explorer la manière de vérifier si une chaîne de caractères donnée est un anagramme d'une autre chaîne. Un anagramme est un mot ou une phrase formé en réarrangeant les lettres d'un autre, comme "iceman" et "cinéma". Nous allons utiliser JavaScript pour créer une fonction qui prend deux chaînes en arguments et renvoie une valeur booléenne indiquant si elles sont des anagrammes l'une de l'autre ou non.
Fonction JavaScript pour vérifier si une chaîne est un anagramme
Pour vérifier si une chaîne est un anagramme d'une autre chaîne, utilisez la fonction JavaScript suivante. Elle est insensible à la casse et ignore les espaces, la ponctuation et les caractères spéciaux.
const isAnagram = (str1, str2) => {
const normalize = (str) =>
str
.toLowerCase()
.replace(/[^a-z0-9]/gi, "")
.split("")
.sort()
.join("");
return normalize(str1) === normalize(str2);
};
Pour utiliser la fonction, ouvrez le Terminal/SSH et tapez node. Ensuite, appelez la fonction avec deux chaînes en arguments :
isAnagram("iceman", "cinema"); // true
La fonction utilise String.prototype.toLowerCase() et String.prototype.replace() avec une expression régulière appropriée pour supprimer les caractères inutiles. Elle utilise également String.prototype.split(), Array.prototype.sort() et Array.prototype.join() sur les deux chaînes pour les normaliser et vérifier si leurs formes normalisées sont égales.
Sommaire
Félicitations ! Vous avez terminé le laboratoire sur les anagrammes de chaînes de caractères. Vous pouvez pratiquer d'autres laboratoires sur LabEx pour améliorer vos compétences.