Условие
На причале CrewTriad в смену выходят ровно три тройки экипажа. В стартере есть массив crewList. Напишите splitCrewsByTriads(arr): отсортируйте имена по алфавиту (лучше копию: arr.slice().sort()), разложите первые 9 человек по трём массивам по 3, а всех остальных соберите в строку четвёртым элементом. Формат запаса: «Запас экипажа: Ula» / «Запас экипажа: Ula, Vera» / если никого не осталось - «Запас экипажа: -». Функция возвращает массив из четырёх элементов: три тройки и строка. В #out четыре строки: JSON.stringify каждой тройки и строка запаса - как во вкладке «Результат». Вызывайте splitCrewsByTriads(crewList.slice()).
Что нужно сделать
- Отсортируйте копию массива имён по алфавиту.
- Соберите три тройки (индексы 0–2, 3–5, 6–8) и запас (с 9-го).
- Верните
[тройка1, тройка2, тройка3, строкаЗапаса]и выведите в#out.
Подсказка для новичка
Цикл for по отсортированному массиву: i < 3, i < 6, i < 9, иначе в запас. Строка запаса: если массив запаса пуст - «-», иначе reserve.join(", "). Не мутируйте исходный crewList без нужды - сортируйте slice().
Стартовый код
Допишите решение в редакторе слева, сверьте с вкладкой «Результат» и нажмите Проверить. Кнопка «Помощник» подставит решение по шагам.
Вот так должно получиться
В блоке #out три JSON-тройки и строка запаса:
Как пользоваться IDE
- Предпросмотр — как выглядит ваша страница.
- Результат — какой итог должен получиться.
- Описание задачи — полное условие и справка.
- Задание — краткие шаги 1–2–3 снизу.
- Помощник — подсказки по шагам.
- Черновик — ссылка на ваш код.
- Сброс кода — стартовый шаблон.
Свойства этой задачи
<!DOCTYPE html>- объявление документа HTML5.<html lang="ru">- корневой тег страницы; атрибут lang="ru" - язык интерфейса.<head>- служебная «шапка»: кодировка, title, подключение CSS.<meta charset="UTF-8" />- кодировка символов (кириллица отображается корректно).<title>- текст на вкладке браузера («Смены CrewTriad»).<link rel="stylesheet" href="style.css" />- подключает файл style.css к странице. Без этой строки стили из CSS не применяются.<body>- видимая часть страницы: всё, что пользователь видит в превью.<h1 id="title">- заголовок #title.<pre id="out" aria-live="polite">- блок предварительно отформатированного текста #out.<script src="script.js">- подключает JavaScript-файл script.js.body → font-family: Arial, sans-serif- семейство шрифта: Arial, sans-serif. Задаёт, каким шрифтом рисовать текст.body → margin: 24px- внешний отступ 24px. Отодвигает блок от краёв родителя / страницы.body → background: #fff7ed- цвет (или заливка) фона: #fff7ed.#title → margin: 0 0 12px- внешний отступ 0 0 12px. Отодвигает блок от краёв родителя / страницы.#title → font-size: 20px- размер шрифта: 20px.#title → color: #9a3412- цвет текста: #9a3412.#out → margin: 0- внешний отступ 0. Отодвигает блок от краёв родителя / страницы.#out → padding: 16px- внутренний отступ 16px - пространство между рамкой и содержимым.#out → font-family: ui-monospace, Consolas, monospace- семейство шрифта: ui-monospace, Consolas, monospace. Задаёт, каким шрифтом рисовать текст.#out → font-size: 15px- размер шрифта: 15px.#out → font-weight: 700- насыщенность шрифта: 700 (например 700 - полужирный).#out → line-height: 1.55- межстрочный интервал: 1.55.#out → color: #0f172a- цвет текста: #0f172a.#out → white-space: pre-wrap- как обрабатывать пробелы и переносы: pre-wrap (pre-wrap сохраняет переносы из текста).#out → background: #fff- цвет (или заливка) фона: #fff.#out → border: 1px solid #fdba74- рамка: 1px solid #fdba74 (толщина, стиль линии, цвет).#out → border-radius: 10px- скругление углов: 10px.document.getElementById("out")- найти элемент с id="out" в DOM.textContent- текстовое содержимое элемента (безопасно для обычного текста).const- объявление константы (ссылку нельзя переназначить).function- объявление функции..slice().sort()- копия массива и сортировка по алфавиту..push(...)- добавить элемент в конец массива..join(", ")- склеить запас через запятую.JSON.stringify(...)- тройку в строку для #out.// >>> Пишите код здесь <<<- маркер в стартере: место для вашего решения.[]- массив - упорядоченный список значений.
Слева файлы редактора: script.js (здесь решаете задание), index.html и style.css (готовая разметка и стили - обычно менять не нужно). Ниже - важные понятия по теме задачи.
Пишите только в script.js.
Сортировка и три тройки
arr.slice().sort() даёт новый отсортированный массив и не портит исходный список. Индексы 0–2 → первая тройка, 3–5 → вторая, 6–8 → третья, с 9 и дальше → запас.
Строка запаса
Если запас пуст - в конце «Запас экипажа: -». Если один человек - «Запас экипажа: Ula». Если несколько - через запятую и пробел: «Запас экипажа: Ula, Vera».
Коротко: slice → sort → три тройки → запас → #out.