Занимательные задачи JavaScript
788 subscribers
8 links
Ваша цель: решить задачу максимально изящно и просто. Предлагайте свои варианты решения в комментариях. Задачи выходят каждый день в 14.00.
Download Telegram
Задача 236
История инпута

Даны инпуты. В любой инпут можно ввести текст и нажать Enter. После этого текст из инпута исчезает. Сделайте так, чтобы каждый инпут запоминал введенные тексты. Над каждым инпутом разместите стрелочки, с помощью которых можно будет возвращать предыдущий введенный текст в инпут.
Задача 237
Получение атрибутов

Дана строка с тегами и атрибутами. Напишите скрипт, который получит атрибуты и их значения в виде массива объектов. Объекты должны хранить имя и значения атрибута.
Задача 238
Последний сегмент пути к папке

Дан некоторый путь к папке '/aaa/bbb/ccc/'. Получите последний сегмент пути. В нашем случае это будет '/ccc/'.
Бесплатная онлайн лекция "Асинхронность в JavaScript"

Лектор: Трепачёв Дмитрий, автор сайта code.mu
Начало: 21 января в 20.00.
Продолжительность: 1.5-2 часа

Лекция пройдет онлайн в виде стрима. На лекции можно будет задавать вопросы в чате. Запись лекции останется, но только на 4 дня.

Будем изучать асинхронность. Эта тема традиционно вызывает сложности у изучающих JavaScript, даже после прочтения учебника. Мы с вами изучим простые примеры асинхронности, затем перейдем к коллбэкам, промисам, изучим работу с async-await, перехватом исключительных ситуаций. Затем мы с вами изучим модель подписок (не вошло в учебник), а также поработаем с технологией AJAX через функцию fetch.

Для записи вступите в следующий канал:
https://t.me/+Zk-oeVPJ1Ws1NjFi
Задача 239
Замена сегмента пути

Дан некоторый путь к папке '/aaa/bbb/ccc/'. Поменяйте заданный сегмент пути на новое значение. К примеру, поменяем второй сегмент пути: '/aaa/+++/ccc/'
Задача 240
Звуки кнопок

Даны три кнопки. Сделайте так, чтобы по клику каждая кнопка издавала свой звук.
Задача 241
Назад по истории

Дана кнопка. По клику на эту кнопку заставьте браузер вернуться назад по истории браузера.
Задача 242
Увеличение сегмента пути

Дан некоторый путь к папке, содержащий числа '/1/2/3/'. Увеличьте заданный сегмент пути на единицу. К примеру, увеличим второй сегмент пути: '/1/3/3/'
Задача 243
Изменение GET-параметра

Пусть в адресной строке браузера у вас написано 'index.html?page=3'. Увеличьте значение параметра page на единицу. Изменение должно произойти прямо в адресной строке.
Задача 244
Получение имени файла

Дан некоторый путь, ведущий к папке '/aaa/bbb/ccc/' или к файлу '/aaa/bbb/ccc.html'. Получите из пути имя файла с его расширением, если это возможно.
Задача 245
Получение реферера

Дана кнопка. По клику на кнопку выведите адрес страницы, с которой был осуществлен переход на текущую страницу.
Задача 246
Язык браузера

Дана кнопка. По нажатию на кнопку выведите язык браузера пользователя.
Задача 247
Язык запроса

Пусть в первом сегменте адреса задается язык пользователя: '/ru/bbb/ccc/'. Напишите программу, которая получит этот язык.
Задача 248
Соединение центров

Даны два дива. Соедините линией центры этих дивов.
Задача 249
Соединение углов

Даны два дива. Соедините линией ближайшие углы этих дивов.
Задача 250
Площадь с учетом перекрытий

На странице есть дивы, которые могут накладываться друг на друга. Найдите суммарную площадь дивов с учетом того, что наложение дивов считается только один раз.
Задача 251
Множественное соединение центров

Даны три дива. Соедините линией центры этих дивов.
Задача 252
Снег

Напишите скрипт, который сделает снег на странице браузера.
Задача 253
Описанный круг

Дан квадратный див. Напишите скрипт, который опишет круг вокруг этого дива.
Задача 254
Расширяем строки

Сделайте так, чтобы у всех строк появился метод ucFirst, который будет переводить первый символ строки в верхний регистр.
Задача 255
Подсчет слов

В текстареа вводится текст со словами. По потери фокуса сделайте таблицу, в первой колонке которой будут слова из текста, во второй колонке - количество раз, которое это слово встречается, а в третьей - процентное содержание этого слова в текста.