Un string, o cadena, es el tipo de dato de JavaScript que se usa para almacenar texto.
Creas un string cuando envuelves el texto entre comillas simples o comillas dobles. En Exercism se usan comillas simples.
'Hello, World!'
"Hello, World!"
Un string se puede tratar como una lista de caracteres, donde el primer carácter tiene el índice 0.
Puedes acceder a un carácter individual del string usando corchetes y el índice de la letra que quieras obtener.
'cat'[1];
// => 'a'
Puedes saber cuántos caracteres tiene un string si accedes a la propiedad length.
'cat'.length;
// => 3
La forma más sencilla de concatenar strings es usar el operador de suma +.
'I like' + ' ' + 'cats.';
// => "I like cats."
Los strings ofrecen muchos métodos auxiliares; consulta la documentación de MDN sobre los métodos de string para ver la lista completa. La siguiente lista muestra algunos de los métodos auxiliares más usados.
toUpperCase y toLowerCase - cambian las mayúsculas y minúsculas de todos los caracterestrim - elimina los espacios en blanco al principio y al finalincludes, startsWith y endsWith - determinan si otro string forma parte del string dadoslice - extrae una sección del stringLos strings son inmutables en JavaScript. Así que una «modificación», por ejemplo con alguno de los métodos anteriores, siempre creará un string nuevo en su lugar.
Un nuevo club de poesía abrió en la ciudad y estás pensando en asistir. Como ha habido incidentes en el pasado, el club tiene una política de entrada muy específica que tendrás que dominar antes de intentar entrar.
En el club de poesía hay dos puertas, una delantera y una trasera, y ambas están custodiadas. Para entrar, tendrás que descubrir la contraseña del día.
La contraseña siempre se basa en un poema y se puede obtener con un proceso de dos pasos.
Los detalles del proceso dependen de la puerta por la que intentes entrar.
Para determinar las letras de la contraseña de la puerta delantera, debes responder con la primera letra de la línea del poema que el guardia te recite.
Para terminar con una contraseña bonita, a los miembros del club de poesía les gusta usar poemas acrósticos. Esto significa que la primera letra de cada oración forma una palabra. Aquí tienes un ejemplo de uno de sus escritores favoritos, Michael Lockwood.
Stands so high
Huge hooves too
Impatiently waits for
Reins and harness
Eager to leave
Entonces, cuando el guardia recite Stands so high, responderás S, y cuando recite Huge hooves too, responderás H.
Implementa la función frontDoorResponse que recibe una línea del poema como argumento y devuelve la primera letra de esa línea.
frontDoorResponse('Stands so high');
// => "S"
Ahora que tienes todas las letras correctas, lo único que necesitas hacer para obtener la contraseña de la puerta delantera es escribir la palabra con la mayúscula inicial correcta.
Implementa la función frontDoorPassword que acepta un string (las letras combinadas que encontraste en la tarea 1) y lo devuelve con la mayúscula inicial correcta.
frontDoorPassword('SHIRE');
// => "Shire"
frontDoorPassword('shire');
// => "Shire"
Para determinar las letras de la contraseña de la puerta trasera, debes responder con la última letra de la línea del poema que el guardia te recite.
Los miembros del club de poesía son muy ingeniosos. El poema que mencionamos antes también es telestiquio, lo que significa que la última letra de cada oración también forma una palabra:
Stands so high
Huge hooves too
Impatiently waits for
Reins and harness
Eager to leave
Cuando el guardia recite Stands so high, responderás h, y cuando recite Huge hooves too, responderás o.
Ten en cuenta que a veces el guardia hace pausas estilísticas (en forma de espacios en blanco) al principio o al final de una línea. Tendrás que ignorar esas pausas para obtener la letra correcta.
Implementa la función backDoorResponse que recibe una línea del poema como argumento y devuelve la última letra de esa línea que no sea un carácter de espacio en blanco.
backDoorResponse('Stands so high');
// => "h"
backDoorResponse('Stands so high ');
// => "h"
Para entrar al club de poesía por la puerta trasera, necesitas ser extra cortés.
Así que para obtener la contraseña, esta vez necesitas escribir la palabra con la mayúscula inicial correcta y agregar ', please' al final.
Implementa la función backDoorPassword que acepta un string (las letras combinadas que encontraste en la tarea 3) y devuelve la versión cortés de la contraseña con la mayúscula inicial.
backDoorPassword('horse');
// => "Horse, please"
Regístrate en Exercism para aprender y dominar JavaScript con 37 conceptos159 ejercicios y mentoría humana real, todo gratis.