РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
21 of 125 menu

Случайный город

Реализуйте сайт, по нажатию на кнопку выводящий случайный город заданной страны. Продумайте структуру хранения данных о городах в коде JavaScript. Создайте массив объектов, где каждый объект содержит название города, страну и население. Вручную заполните массив 30-50 городами из разных стран. Все данные должны храниться в коде JavaScript. Скачать верстку для проекта.

Основные возможности проекта

  • Переключатель для выбора страны.
  • Фильтр по населению (минимальное и максимальное значение).
  • Кнопка для вывода случайного города.
  • Вывод информации о городе.

Главная страница

На главной странице сайта должна быть форма с настройками и кнопкой "Показать случайный город":

  • Страна (выпадающий список) - выбор страны для поиска городов. По умолчанию "Все страны".
  • Население (фильтр) - минимальное и максимальное количество жителей (инпуты).

По нажатию на кнопку сайт выбирает случайный город из базы данных с учетом выбранных фильтров и выводит его информацию.

Фильтр по населению

Фильтр должен позволять задавать:

  • Минимальное количество жителей (инпут).
  • Максимальное количество жителей (инпут).

Если поля не заполнены, ограничения не применяются. Например, можно найти город с населением от 1 до 5 миллионов человек.

Результат

После нажатия на кнопку сайт должен вывести:

  • Название города.
  • Страну, в которой находится город.
  • Количество жителей (в миллионах или с форматированием).
  • Краткое описание города (2–4 предложения: чем известен, где стоит, характер места).

Если городов, соответствующих фильтрам, нет, должно выводиться сообщение: "Города для выбранных критериев не найдены".

Дополнительные возможности

  • Кнопка "Еще" для показа другого случайного города с теми же настройками.
  • Вывод флага страны (эмодзи или изображение).
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить