Codage : vérifier si deux chaînes sont des anagrammes en Javascript
Introduction : Un anagramme est un mot ou une phrase formé en réarrangeant les lettres d'un mot ou d'une phrase différente, en utilisant généralement toutes les lettres d'origine exactement une fois. Par exemple, "acte" et "chat" sont des anagrammes l'un de l'autre. Une anagramme n'a pas à avoir la même signification que le mot ou la phrase d'origine.
Solution1 :
Dans cet article, nous discuterons d'une méthode efficace de détection d'anagrammes à l'aide de JavaScript.
La première étape de notre fonction consiste à supprimer tous les espaces et à convertir les deux chaînes en lettres minuscules. Pour ce faire, utilisez la méthode replace pour supprimer tous les espaces de la chaîne et la méthode toLowerCase pour convertir tous les caractères en minuscules.
str1 = str1.replace(/\s/g, '').toLowerCase()
str2 = str2.replace(/\s/g, '').toLowerCase()
if (str1.length !== str2.length) {
return false
}
str1 = str1.split('').sort().join('')
str2 = str2.split('').sort().join('')
return str1 === str2
function isAnagram(str1, str2) {
// Removes spaces and convert into the lowercase letter
str1 = str1.replace(/\s/g, '').toLowerCase()
str2 = str2.replace(/\s/g, '').toLowerCase()
// console.log(str1, str2)
if (str1.length !== str2.length) {
return false
}
// Sort the characters in the given string
str1 = str1.split('').sort().join('')
str2 = str2.split('').sort().join('')
// Compare the sorted String
return str1 === str2
}
const check = isAnagram('modi', 'monu')
console.log(check) // False
const check = isAnagram('modi', 'monu')
console.log(check)
Il s'agit d'un moyen simple et efficace de rechercher des anagrammes à l'aide de JavaScript. En supprimant les espaces et en convertissant les chaînes en lettres minuscules, en comparant les longueurs et en triant les caractères dans les deux chaînes, nous sommes en mesure de vérifier si les deux chaînes sont des anagrammes l'une de l'autre ou non.
Solution 2 :
La première étape de notre fonction consiste à vérifier si la longueur des deux chaînes est égale ou non. Si les longueurs ne sont pas égales, nous pouvons renvoyer false car les deux chaînes ne peuvent pas être des anagrammes l'une de l'autre.
Ensuite, nous supprimons les espaces et convertissons les deux chaînes en lettres minuscules, afin de pouvoir comparer les lettres indépendamment de la casse et des espaces.
Nous créons un objet compteur pour suivre le nombre d'occurrences de chaque lettre dans str1. Nous parcourons str1 et pour chaque lettre, nous incrémentons le nombre de cette lettre dans l'objet compteur.
Ensuite, nous parcourons str2 et vérifions si la lettre existe dans l'objet compteur. Si ce n'est pas le cas, nous renvoyons false car les deux chaînes ne peuvent pas être des anagrammes.
Enfin, nous retournons true, si toutes les lettres de str2 existent également dans str1 et que le nombre de chaque lettre est égal dans les deux chaînes.
Code complet :
function isAnagram(str1, str2) {
if (str1.length !== str2.length) {
return false
}
str1 = str1.replace(/\s/g, '').toLowerCase()
str2 = str2.replace(/\s/g, '').toLowerCase()
let counter = {}
for (let letters of str1) {
counter[letters] = counter[letters] ? counter[letters] + 1 : 1
}
for (let items of str2) {
if (!counter[items]) {
return false
}
counter[items] -= 1
}
return true
}
let str1 = 'I am Monu'
let str2 = 'am I OnMU'
const checkAnagram = isAnagram(str1, str2)
console.log(checkAnagram)
let str1 = 'I am Monu'
let str2 = 'am I OnMU'
const checkAnagram = isAnagram(str1, str2)
console.log(checkAnagram)
C'est un moyen efficace de vérifier les anagrammes à l'aide de javascript, en comparant d'abord les longueurs des deux chaînes, puis en utilisant un objet compteur pour suivre le nombre d'occurrences de chaque lettre dans str1, puis en le comparant avec les lettres dans str2 nous pouvons vérifier si les deux chaînes sont des anagrammes l'une de l'autre ou non.
Si vous souhaitez en savoir plus sur le codage en Javascript, assurez-vous de me suivre pour plus d'extraits de code et d'exemples. Je partagerai des informations précieuses et des conseils sur la façon de maîtriser la langue et d'améliorer vos compétences en tant que développeur. Alors, restez à l'écoute pour plus de mises à jour, et continuons à apprendre ensemble.
Merci d'avoir lu. Bon apprentissage
Soutenez notre publication en la suivant
Intégration de Splunk avec SpringBoot Partie — 1 Pourquoi Java est le langage de programmation le plus apprécié sur la planète Codage : trouver le mot le plus long dans une phrase à l'aide de JavaScript![Qu'est-ce qu'une liste liée, de toute façon? [Partie 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































