Треки
/
JavaScript
JavaScript
/
Вправи
/
Політика входу до поетичного клубу
Політика входу до поетичного клубу

Політика входу до поетичного клубу

Навчальна вправа

Вступ

Рядок тексту (англ. string) - це тип даних у JavaScript для зберігання текстових даних.

Створення рядка тексту

Щоб створити рядок тексту, беремо текст в одинарні або подвійні лапки. На Exercism прийнято використовувати одинарні лапки.

'Hello, World!'
"Hello, World!"

Рядки тексту як масиви символів

Рядок тексту можна розглядати як масив символів, де перший символ має індекс 0. Дістати окремий символ рядка тексту можна за допомогою квадратних дужок та індексу потрібної літери.

'cat'[1];
// => 'a'

Кількість символів у рядку тексту можна визначити, звернувшись до властивості length.

'cat'.length;
// => 3

Конкатенація та методи

Найпростіший спосіб зʼєднати рядки тексту - скористатися оператором додавання +.

'I like' + ' ' + 'cats.';
// => "I like cats."

Рядки тексту мають багато допоміжних методів; повний список наведено в документації MDN щодо методів рядків. Нижче наведено кілька найуживаніших допоміжних методів.

  • toUpperCase і toLowerCase - змінюють регістр усіх символів
  • trim - прибирає пробіли на початку й у кінці
  • includes, startsWith і endsWith - визначають, чи є інший рядок тексту частиною заданого
  • slice - вибирає частину рядка тексту

Рядки тексту в JavaScript незмінні. Тому будь-яка «модифікація», наприклад, за допомогою деяких із наведених вище методів, завжди створює новий рядок тексту.

Вказівки

У місті відкрився новий клуб поезії, і ми розмірковуємо, чи не відвідати його. Оскільки в минулому траплялися інциденти, у клубу дуже специфічні правила входу, які нам потрібно опанувати, перш ніж намагатися потрапити всередину.

У клубі поезії є двоє дверей: передні та задні, і кожні з них охороняються. Щоб потрапити всередину, нам потрібно зʼясувати пароль дня.

Пароль завжди ґрунтується на вірші, і його можна вивести у два кроки.

  1. Охоронець декламує вірш, рядок за рядком, і ми маємо відповідати відповідною літерою цього рядка.
  2. Тоді охоронець називає всі літери, якими ми відповідали, одразу, і нам потрібно записати їх на аркуші паперу в певному форматі.

Подробиці процесу залежать від того, до яких дверей ми намагаємося увійти.

1. Отримати першу літеру речення

Щоб визначити літери для пароля до передніх дверей, нам потрібно відповідати першою літерою рядка вірша, який декламує нам охоронець.

Щоб пароль виходив гарним, члени клубу поезії люблять використовувати акровірші. Це означає, що перша літера кожного речення утворює слово. Ось приклад від одного з їхніх улюблених авторів, Майкла Локвуда.

Stands so high
Huge hooves too
Impatiently waits for
Reins and harness
Eager to leave

Тож коли охоронець декламує Stands so high, ми відповідаємо S, а коли охоронець декламує Huge hooves too, ми відповідаємо H.

Реалізуйте функцію frontDoorResponse, яка приймає рядок вірша як аргумент і повертає першу літеру цього рядка.

frontDoorResponse('Stands so high');
// => "S"

2. Зробити слово з великої літери

Тепер, коли в нас є всі потрібні літери, щоб отримати пароль до передніх дверей, нам залишається лише правильно написати слово з великої літери.

Реалізуйте функцію frontDoorPassword, яка приймає рядок тексту (англ. string) (обʼєднані літери, які ми знайшли в завданні 1) і повертає його правильно написаним з великої літери.

frontDoorPassword('SHIRE');
// => "Shire"

frontDoorPassword('shire');
// => "Shire"

3. Отримати останню літеру речення

Щоб визначити літери для пароля до задніх дверей, нам потрібно відповідати останньою літерою рядка вірша, який декламує нам охоронець.

Члени клубу поезії дуже кмітливі. Згаданий раніше вірш також телестих, а це означає, що остання літера кожного речення теж утворює слово:

Stands so high
Huge hooves too
Impatiently waits for
Reins and harness
Eager to leave

Коли охоронець декламує Stands so high, ми відповідаємо h, а коли охоронець декламує Huge hooves too, ми відповідаємо o.

Зауважмо, що іноді охоронець робить стилістичні паузи (у вигляді пробільних символів) на початку або в кінці рядка. Щоб вивести правильну літеру, нам потрібно ігнорувати ці паузи.

Реалізуйте функцію backDoorResponse, яка приймає рядок вірша як аргумент і повертає останню літеру цього рядка, що не є пробільним символом.

backDoorResponse('Stands so high');
// => "h"

backDoorResponse('Stands so high   ');
// => "h"

4. Бути ввічливими

Щоб потрапити до клубу поезії через задні двері, потрібно бути особливо ввічливими. Тож цього разу, щоб вивести пароль, нам потрібно правильно написати слово з великої літери та додати ', please' у кінці.

Реалізуйте функцію backDoorPassword, яка приймає рядок тексту (обʼєднані літери, які ми знайшли в завданні 3) і повертає ввічливу версію пароля, написаного з великої літери.

backDoorPassword('horse');
// => "Horse, please"
Редагувати через GitHub Посилання відкривається в новому вікні або вкладці
JavaScript Exercism

Час розпочати Політика входу до поетичного клубу?

Зареєструйтеся на Exercism, щоб вивчати й опановувати JavaScript, а також 37 концепцій159 вправ та справжнє наставництво від людей, і все це безкоштовно.