Uma string é o tipo de dado do JavaScript para armazenar dados de texto.
Você cria uma string envolvendo o texto em aspas simples ou aspas duplas. No Exercism, usamos aspas simples.
'Hello, World!'
"Hello, World!"
Uma string pode ser tratada como uma lista de caracteres, em que o primeiro caractere tem índice 0.
Você pode acessar um caractere individual da string usando colchetes e o índice da letra que quer obter.
'cat'[1];
// => 'a'
Você pode descobrir o número de caracteres de uma string acessando a propriedade length.
'cat'.length;
// => 3
A forma mais simples de concatenar strings é usar o operador de adição +.
'I like' + ' ' + 'cats.';
// => "I like cats."
As strings oferecem muitos métodos auxiliares; consulte a documentação da MDN sobre métodos de string para ver a lista completa. A lista a seguir mostra alguns auxiliares usados com frequência.
toUpperCase e toLowerCase - mudam todos os caracteres para maiúsculas ou minúsculastrim - removem espaços em branco no início e no fimincludes, startsWith e endsWith - verificam se outra string faz parte da string em questãoslice - extraem uma parte da stringAs strings são imutáveis em JavaScript. Por isso, uma "modificação", por exemplo com alguns dos métodos acima, sempre cria uma nova string.
Um novo clube de poesia abriu na cidade, e você está pensando em frequentá-lo. Como já houve incidentes no passado, o clube tem uma política de entrada bem específica que você precisa dominar antes de tentar entrar.
O clube de poesia tem duas portas, uma da frente e uma dos fundos, e as duas são vigiadas. Para entrar, você vai precisar descobrir a senha do dia.
A senha é sempre baseada em um poema e pode ser obtida em um processo de duas etapas.
Os detalhes do processo dependem de qual porta você está tentando entrar.
Para descobrir as letras da senha da porta da frente, você precisa responder com a primeira letra da linha do poema que o guarda recita para você.
Para chegar a uma senha bonita, os membros do clube de poesia gostam de usar poemas acrósticos. Isso significa que a primeira letra de cada frase forma uma palavra. Veja um exemplo de um dos escritores favoritos deles, Michael Lockwood.
Stands so high
Huge hooves too
Impatiently waits for
Reins and harness
Eager to leave
Então, quando o guarda recitar Stands so high, você responde S, e quando o guarda recitar Huge hooves too, você responde H.
Implemente a função frontDoorResponse que recebe uma linha do poema como argumento e retorna a primeira letra dessa linha.
frontDoorResponse('Stands so high');
// => "S"
Agora que você tem todas as letras corretas, tudo o que precisa fazer para obter a senha da porta da frente é colocar a palavra com a inicial maiúscula corretamente.
Implemente a função frontDoorPassword que aceita uma string (as letras combinadas que você encontrou na tarefa 1) e a retorna com a inicial maiúscula correta.
frontDoorPassword('SHIRE');
// => "Shire"
frontDoorPassword('shire');
// => "Shire"
Para descobrir as letras da senha da porta dos fundos, você precisa responder com a última letra da linha do poema que o guarda recita para você.
Os membros do clube de poesia são muito espertos. O poema mencionado antes também é um telestíquio, o que significa que a última letra de cada frase também forma uma palavra:
Stands so high
Huge hooves too
Impatiently waits for
Reins and harness
Eager to leave
Quando o guarda recitar Stands so high, você responde h, e quando o guarda recitar Huge hooves too, você responde o.
Repare que às vezes o guarda faz pausas estilísticas (na forma de espaços em branco) no começo ou no fim da linha. Você vai precisar ignorar essas pausas para chegar à letra correta.
Implemente a função backDoorResponse que recebe uma linha do poema como argumento e retorna a última letra dessa linha que não seja um caractere de espaço em branco.
backDoorResponse('Stands so high');
// => "h"
backDoorResponse('Stands so high ');
// => "h"
Para entrar no clube de poesia pela porta dos fundos, você precisa ser muito educado.
Então, para obter a senha, desta vez você precisa colocar a palavra com a inicial maiúscula corretamente e adicionar ', please' no final.
Implemente a função backDoorPassword que aceita uma string (as letras combinadas que você encontrou na tarefa 3) e retorna a versão educada da senha com a inicial maiúscula.
backDoorPassword('horse');
// => "Horse, please"
Crie sua conta no Exercism para aprender e dominar JavaScript com 37 conceitos159 exercícios e mentoria humana de verdade, tudo de graça.