Una stringa è il tipo di dati di JavaScript che serve a memorizzare dati testuali.
Si crea una stringa racchiudendo il testo tra virgolette singole o virgolette doppie. Su Exercism si usano le virgolette singole.
'Hello, World!'
"Hello, World!"
Una stringa può essere trattata come un array di caratteri, dove il primo carattere ha indice 0.
Puoi accedere a un singolo carattere della stringa usando le parentesi quadre ([]) e l'indice della lettera che vuoi recuperare.
'cat'[1];
// => 'a'
Puoi determinare il numero di caratteri di una stringa accedendo alla proprietà length.
'cat'.length;
// => 3
Il modo più semplice per concatenare le stringhe è usare l'operatore di addizione +.
'I like' + ' ' + 'cats.';
// => "I like cats."
Le stringhe offrono molti metodi ausiliari: per un elenco completo, vedi i documenti MDN sui metodi delle stringhe. Il seguente elenco mostra alcuni metodi ausiliari di uso comune.
toUpperCase e toLowerCase: trasformano tutti i caratteri in maiuscolo o in minuscolotrim: rimuove gli spazi bianchi all'inizio e alla fineincludes, startsWith e endsWith: determinano se un'altra stringa fa parte della stringa dataslice: estrae una sezione della stringaLe stringhe sono immutabili in JavaScript. Quindi una «modifica», ad esempio tramite alcuni dei metodi qui sopra, crea sempre una nuova stringa.
Un nuovo club di poesia ha aperto in città e stai pensando di andarci. Dato che in passato ci sono stati degli incidenti, il club ha una politica d'ingresso molto particolare che dovrai padroneggiare prima di tentare di entrare.
Al club di poesia ci sono due porte, una davanti e una sul retro, ed entrambe sono sorvegliate. Per entrare, dovrai scoprire la password del giorno.
La password è sempre basata su una poesia e si può ricavare in due passaggi.
I dettagli del procedimento dipendono da quale porta stai cercando di varcare.
Per determinare le lettere della password della porta davanti, devi rispondere con la prima lettera della riga della poesia che il guardiano ti recita.
Per ottenere una bella password, i membri del club di poesia amano usare poesie acrostiche. Questo significa che la prima lettera di ogni frase forma una parola. Ecco un esempio di uno dei loro scrittori preferiti, Michael Lockwood.
Stands so high
Huge hooves too
Impatiently waits for
Reins and harness
Eager to leave
Quindi quando il guardiano recita Stands so high, tu risponderai S; quando recita Huge hooves too, risponderai H.
Implementa la funzione frontDoorResponse che prende come argomento una riga della poesia e restituisce la prima lettera di quella riga.
frontDoorResponse('Stands so high');
// => "S"
Ora che hai tutte le lettere giuste, per ottenere la password della porta davanti ti basta scrivere la parola con l'iniziale maiuscola corretta.
Implementa la funzione frontDoorPassword che accetta una stringa (le lettere combinate che hai trovato nell'attività 1) e la restituisce scritta correttamente con l'iniziale maiuscola.
frontDoorPassword('SHIRE');
// => "Shire"
frontDoorPassword('shire');
// => "Shire"
Per determinare le lettere della password della porta sul retro, devi rispondere con l'ultima lettera della riga della poesia che il guardiano ti recita.
I membri del club di poesia sono davvero ingegnosi. La poesia menzionata prima è anche telestica, il che significa che anche l'ultima lettera di ogni frase forma una parola:
Stands so high
Huge hooves too
Impatiently waits for
Reins and harness
Eager to leave
Quando il guardiano recita Stands so high, tu risponderai h; quando recita Huge hooves too, risponderai o.
Nota che a volte il guardiano fa delle pause stilistiche (sotto forma di spazi bianchi) all'inizio o alla fine di una riga. Dovrai ignorare quelle pause per ricavare la lettera corretta.
Implementa la funzione backDoorResponse che prende come argomento una riga della poesia e restituisce l'ultima lettera di quella riga che non è uno spazio bianco.
backDoorResponse('Stands so high');
// => "h"
backDoorResponse('Stands so high ');
// => "h"
Per entrare nel club di poesia dalla porta sul retro, devi essere particolarmente gentile.
Quindi, per ricavare la password, questa volta devi scrivere la parola con l'iniziale maiuscola corretta e aggiungere ', please' alla fine.
Implementa la funzione backDoorPassword che accetta una stringa (le lettere combinate che hai trovato nell'attività 3) e restituisce la versione gentile della password con l'iniziale maiuscola.
backDoorPassword('horse');
// => "Horse, please"
Iscriviti a Exercism per imparare e padroneggiare JavaScript con 37 concetti159 esercizi e il mentoring di persone reali, tutto gratis.