Una cadena de caracteres es el tipo de dato de JavaScript que se usa para almacenar datos de texto.
Creas un string envolviendo el texto entre comillas simples o comillas dobles. En Exercism se usan comillas simples.
'Hello, World!'
"Hello, World!"
Un string se puede tratar como un array de caracteres en el que el primer carácter tiene el índice 0.
Puedes acceder a un carácter concreto del string usando corchetes y el índice de la letra que quieras obtener.
'cat'[1];
// => 'a'
Puedes determinar el número de caracteres de un string accediendo 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 proporcionan 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 - eliminan los espacios en blanco del principio y del 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.
En la ciudad ha abierto un nuevo club de poesía y estás pensando en ir. Como en el pasado ha habido incidentes, el club tiene una política de acceso muy concreta que tendrás que dominar antes de intentar entrar.
En el club de poesía hay dos puertas, una delantera y otra trasera, y ambas están vigiladas. Para entrar, tendrás que averiguar 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 a qué puerta intentes entrar.
Para determinar las letras de la contraseña de la puerta delantera, tienes que responder con la primera letra de la línea del poema que te recite el guardia.
Para conseguir 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 frase 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
Así que 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 toma 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 te queda por hacer para obtener la contraseña de la puerta delantera es poner correctamente la inicial de la palabra en mayúscula.
Implementa la función frontDoorPassword, que acepta un string (las letras combinadas que encontraste en la tarea 1) y lo devuelve con la inicial correctamente en mayúscula.
frontDoorPassword('SHIRE');
// => "Shire"
frontDoorPassword('shire');
// => "Shire"
Para determinar las letras de la contraseña de la puerta trasera, tienes que responder con la última letra de la línea del poema que te recite el guardia.
Los miembros del club de poesía son muy listos. El poema mencionado antes también es un telestiquio, lo que significa que la última letra de cada frase 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 toma una línea del poema como argumento y devuelve la última letra de esa línea que no sea un espacio en blanco.
backDoorResponse('Stands so high');
// => "h"
backDoorResponse('Stands so high ');
// => "h"
Para entrar en el club de poesía por la puerta trasera, tienes que ser muy educado.
Así que, para obtener la contraseña, esta vez tienes que poner la inicial de la palabra correctamente en mayúscula y añadir ', 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 educada de la contraseña con la inicial en mayúscula.
backDoorPassword('horse');
// => "Horse, please"
Regístrate en Exercism para aprender y dominar JavaScript con 37 conceptos159 ejercicios y mentoría humana real, todo gratis.