In questa lezione propongo dei semplicissimi esercizi sulle stringhe in JavaScript, al fine di approfondire tutti i metodi e le proprietà precedentemente studiate.
Esercizi sulle stringhe in JavaScript – primo esercizio
Creare un programma che cerchi in una frase la sotto-stringa composta dalle parole coding e creativoo. Se trova entrambe le parole restituisce la frase, altrimenti stampa come risultato parole non trovate.
Innanzitutto memorizziamo in una variabile una stringa:
let str = "Fare coding creativo è bello";
Dopo utilizziamo il metodo indexOf che ricordiamo restituisce -1 se non trova una stringa, altrimenti restituisce la posizione di inizio della stringa.
const codingIndex = str.indexOf('coding');
console.log(codingIndex);
const creativoIndex = str.indexOf('creativo');
console.log(creativoIndex);
Quindi se i due indici sono diversi da -1 stampiamo in console la frase completa, altrimenti stampiamo parole non trovate:
if (codingIndex != -1 && creativoIndex != -1) {
console.log(str);
} else {
console.log('parole non trovate');
}
Se utilizzassimo le funzioni in JavaScript, che spiegherò più avanti, avremmo il vantaggio di riutilizzare il codice su più stringhe.
Ecco dunque una possibile implementazione nella quale prendiamo due frasi diverse a cui applicheremo la funzione cerca che prende come argomento una stringa:
const frase1 = 'Fare coding creativo è bello';
const frase2 ='Oggi splende il sole';
const risultato = cerca(frase1);
console.log(risultato);
const risultato2 = cerca(frase2);
console.log(risultato2);
function cerca(stringa){
const codingIndex = stringa.indexOf('coding');
const creativoIndex = stringa.indexOf('creativo');
if (codingIndex != -1 && creativoIndex != -1) {
return stringa;
} else {
return 'la stringa non è presente';
}
}
Esercizi sulle stringhe in JavaScript – secondo esercizio
Prendere in input due semplici stringhe che contengono una sola parola, dopo restituire le due stringhe concatenate, scambiando i primi due caratteri di ciascuna stringa.
Controlliamo che le stringhe abbiano almeno 2 caratteri, visualizzando un messaggio di errore nel momento in cui non li hanno. Per questo scopo utilizziamo la proprietà length di JavaScript sulle stringhe.
Altrimenti sostituiamo le seconde lettere di ciascuna parola, utilizzando i metodi slice e substring sulle stringhe.
const parola1 = 'Nanno';
const parola2 = 'Coro';
if (parola1.length < 3 || parola1.length < 3 ) {
console.log('attenzione le stringhe inserite non sono più lunghe di 2 caratteri');
} else {
const stringa1 = parola1.slice(0, 1) + parola2.slice(1,2) + parola1.substring(2);
const stringa2 = parola2.slice(0, 1) + parola1.slice(1,2) + parola2.substring(2);
const stringaUnita = stringa2 + ' ' + stringa1;
console.log(stringaUnita);
}
Anche in questo caso possiamo utilizzare una funzione per richiamarla più volte. Dunque creo una funzione changeLetter che prende come argomenti due parametri, p1 e p2.
const parola1 = 'Nanno';
const parola2 = 'Coro';
function changeLetter(p1,p2){
if (p1.length < 3 || p2.length < 3 ) {
return 'attenzione le stringhe inserite non sono più lunghe di 2 caratteri';
} else {
const stringa1 = p1.slice(0, 1) + p2.slice(1,2) + p1.substring(2);
const stringa2 = p2.slice(0, 1) + p1.slice(1,2) + p2.substring(2);
return stringaUnita = stringa2 + ' ' + stringa1;
}
}
Dopo richiamo la stessa funzione due volte con parole diverse.
const parola1 = 'Nanno';
const parola2 = 'Coro';
const risultato = changeLetter(parola1,parola2);
console.log(risultato);
const parola3 = 'Caro';
const parola4 = 'Remo';
const risultato2 = changeLetter(parola3,parola4);
console.log(risultato2);
Si potrebbe generare una funzione specificando anche la posizione dei caratteri da cambiare.
Conclusione
In questa lezione abbiamo svolto alcuni semplici esercizi sulle stringhe in JavaScript, nelle prossime lezioni non mancheranno tanti altri esempi.
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