Come determinare se una parola è palindroma in JavaScript

Il concetto di palindrome, una parola o una frase che si legge allo stesso modo sia da sinistra a destra che da destra a sinistra, è un problema interessante in programmazione. In questa pagina, esploreremo un approccio dettagliato su come determinare se una parola è palindroma utilizzando JavaScript.

Una parola palindroma è una sequenza di caratteri che rimane identica quando letta in avanti o all'indietro. Ad esempio, parole come "radar", "anna" e "osso" sono palindrome poiché mantengono la stessa sequenza di caratteri quando lette al contrario.

Utilizzare il metodo reverse per determinare se un parola è palindroma

Iniziamo con la dichiarazione della parola che intendiamo verificare se sia palindroma:

// Dichiarazione della parola da analizzare
var parola = "radar";

Per analizzare se una parola è palindroma, è utile scomporla in singoli caratteri. Utilizzeremo il metodo split delle stringhe in JavaScript per ottenere un array contenente ogni singolo carattere della parola.

// Scomposizione della parola in singoli caratteri
var caratteri = parola.split('');

Per verificare se una parola è palindroma, dobbiamo confrontare la sua sequenza originale con la sua versione invertita. Utilizziamo il metodo reverse sull'array dei caratteri per ottenere una versione invertita della parola.

// Creazione di una versione invertita della parola
var invertita = caratteri.reverse().join('');

Una volta ottenuta la versione invertita della parola, confrontiamo questa versione con la parola originale per determinare se sono uguali o meno.

// Verifica se la parola è palindroma
if (parola === invertita) {
	console.log(parola + " è una parola palindroma.");
} else {
	console.log(parola + " non è una parola palindroma.");
}

Codice completo in JavaScript per determinare se una parola è palindroma

Di seguito viene riportato il codice completo del programma, spiegato precedentemente, in grado di determinare se una data parola è palindroma.

// Dichiarazione della parola da analizzare
var parola = "radar";

// Scomposizione della parola in singoli caratteri
var caratteri = parola.split('');
// Creazione di una versione invertita della parola
var invertita = caratteri.reverse().join('');

// Verifica se la parola è palindroma
if (parola === invertita) {
	console.log(parola + " è una parola palindroma.");
} else {
	console.log(parola + " non è una parola palindroma.");
}

Utilizzare un ciclo for per determinare se una parola è palindroma

Il metodo più comune per capire se una parola è palindroma è usare un ciclo for. Il ciclo for ci permette di iterare sulla parola e confrontare ogni carattere con il carattere corrispondente all'altra estremità della parola.

// Dichiarazione della parola da analizzare
var parola = "radars";

// Definizione funzione 
function palindroma(parola){
	for(let i = 0; i < parola.length / 2; i++){
		// Se un carattere non corrisponde al carattere nell'altra metà: NON palindroma
		if(parola[i] !== parola[parola.length - i - 1]){
			return false;
		}
	}
	// Parola è palindroma
	return true;
}

if(palindroma(parola)){
	console.log(parola + " è una parola palindroma.");
} else {
	console.log(parola + " non è una parola palindroma.");
}