Codifica: controlla se due stringhe sono anagrammi in Javascript

Jan 24 2023
Introduzione: un anagramma è una parola o frase formata riorganizzando le lettere di una parola o frase diversa, tipicamente utilizzando tutte le lettere originali esattamente una volta. Ad esempio, "act" e "cat" sono anagrammi l'uno dell'altro.

Introduzione: un anagramma è una parola o frase formata riorganizzando le lettere di una parola o frase diversa, tipicamente utilizzando tutte le lettere originali esattamente una volta. Ad esempio, "act" e "cat" sono anagrammi l'uno dell'altro. Un anagramma non deve avere lo stesso significato della parola o frase originale.

Soluzione 1:

Verifica se due stringhe sono anagrammi l'una dell'altra o meno.

In questo articolo, discuteremo un metodo efficiente per il rilevamento dell'anagramma utilizzando JavaScript.

Il primo passo nella nostra funzione è rimuovere tutti gli spazi e convertire entrambe le stringhe in lettere minuscole. Questo viene fatto usando il metodo replace per rimuovere tutti gli spazi nella stringa e il metodo toLowerCase per convertire tutti i caratteri in minuscolo.

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)

Questo è un modo semplice ed efficiente per verificare la presenza di anagrammi utilizzando JavaScript. Rimuovendo gli spazi e convertendo le stringhe in lettere minuscole, confrontando le lunghezze e ordinando i caratteri in entrambe le stringhe, siamo in grado di verificare se le due stringhe sono anagrammi l'una dell'altra o meno.

Soluzione 2:

Verifica se due stringhe sono anagrammi l'una dell'altra o meno.

Il primo passo nella nostra funzione è verificare se la lunghezza di entrambe le stringhe è uguale o meno. Se le lunghezze non sono uguali, possiamo restituire false in quanto le due stringhe non possono essere anagrammi l'una dell'altra.

Successivamente, rimuoviamo gli spazi e convertiamo entrambe le stringhe in lettere minuscole, in modo da poter confrontare le lettere indipendentemente da maiuscole e minuscole.

Creiamo un oggetto contatore per tenere traccia del numero di occorrenze di ogni lettera in str1. Iteriamo attraverso str1 e per ogni lettera, incrementiamo il conteggio di quella lettera nell'oggetto contatore.

Successivamente, iteriamo attraverso str2 e controlliamo se la lettera esiste nell'oggetto contatore. In caso contrario, restituiamo false in quanto le due stringhe non possono essere anagrammi.

Infine, restituiamo vero, se tutte le lettere in str2 esistono anche in str1 e il conteggio di ogni lettera è uguale in entrambe le stringhe.

Codice completo:

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)

Questo è un modo efficiente per verificare la presenza di anagrammi utilizzando javascript, confrontando prima le lunghezze delle due stringhe e quindi utilizzando un oggetto contatore per tenere traccia del numero di occorrenze di ciascuna lettera in str1, quindi confrontandola con le lettere in str2 siamo in grado di verificare se le due stringhe sono anagrammi l'una dell'altra oppure no.

Se sei interessato a saperne di più sulla codifica in Javascript, assicurati di seguirmi per ulteriori frammenti di codice ed esempi. Condividerò preziose informazioni e suggerimenti su come padroneggiare la lingua e migliorare le tue capacità di sviluppatore. Quindi, resta sintonizzato per ulteriori aggiornamenti e continuiamo a imparare insieme.

Grazie per aver letto. Buon apprendimento

Sostieni la nostra pubblicazione seguendola

Integrazione di Splunk con SpringBoot Parte — 1 Perché Java è il linguaggio di programmazione più amato del pianeta Codifica: trovare la parola più lunga in una frase utilizzando JavaScript