Data una stringa, composta da una quantità indefinita di parole, trovare la parola più lunga in JavaScript.
In questa breve lezione propongo varie soluzioni all’algoritmo proposto, al fine di presentare diversi ragionamenti logici.
Parola più lunga in JavaScript – prima soluzione
Partiamo quindi da una semplice frase di esempio:
const frase = 'Fare coding è divertente.';
Dopo, con il metodo split, creiamo un array con ciascuna parola. Ricordiamo dunque che al metodo split passiamo uno spazio vuoto per definire la suddivisione delle parole in un array.
const parole = frase.split(' ');
console.log(parole);
Nella console del nostro browser vedremo come risultato un array di 4 elementi: (4) [“Fare”, “coding”, “è”, “divertente.”]
Adesso dobbiamo determinare quali delle seguenti parole è più lunga. Quindi inizializziamo il valore massimo alla prima parola e dopo, con un ciclo for controlliamo se la lunghezza delle altre parole è maggiore di quella inziale. Se la condizione si verifica sostituiamo il valore massimo, altrimenti non facciamo nulla.
let max = parole[0];
for(let i = 0; i < parole.length; i++){
if(parole[i].length > max.length ){
max = parole[i];
}
}
console.log('la parola più lunga della frase è: ' + max);
Parola più lunga in JavaScript – seconda soluzione
Analizziamo l’algoritmo per cercare un’altra possibile soluzione. Infatti ci viene in mente che se ordiniamo l’array in modo che gli elementi che hanno una lunghezza maggiore siano posizionati per primi, allora basterà estrapolare il primo elemento per determinare la parola più lunga.
Per fare ciò utilizzeremo quindi il metodo sort sugli array e gli passeremo come parametro una funzione, come abbiamo fatto nella seguente lezione: sort in JavaScript.
const frase = 'Fare coding è divertente';
const parole = frase.split(' ');
const paroleLunga = parole.sort(function(a, b) {
return b.length - a.length;
});
console.log(paroleLunga[0]);
Con la funzione passata all’algoritmo sort realizziamo un ordinamento in base alla lunghezza decrescente di ciascuna parola. Quindi per ottenere la parola più lunga basterà semplicemente stampare il primo elemento.
Conclusioni
Chiaramente queste sono solo delle possibili soluzioni alla ricerca della parola più lunga in JavaScript, proponete pure la vostra soluzione.
Alcuni link utili
Come utilizzare JavaScript alert
Gioco indovina numero in JavaScript
Gioco della morra cinese in JavaScript
Semplice quiz utilizzando gli array
Come realizzare il gioco dei dadi online