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

Дан текст. Поменяйте в нем регистр всех букв на противоположный.
Задача 15
Обратный отчет до даты

Сделайте обратный отчет до даты. Он должен выводить сколько времени осталось до заданной даты в следующем формате: 12 дней 15 часов 12 минут 58 секунд.
Задача 16
Одинаковые слова в строках

Даны две строки со словами без знаков препинаний. Выведите на экран те слова, которые встречаются и в одной, и во второй строке.
👍2
Задача 17
Перемещение блока наверх

Даны множество блоков с абсолютным позиционированием. По клику на блок сделайте так, чтобы он стал поверх других блоков.
🔥1
Задача 18
Удаление дублей из массива

Дан массив с элементами, например, вот такой:
[1, 2, 1, 3, 1, 1, 2, 4]

Удалите из массива дубли элементов, то есть элементы, которые повторяются два и более раз. В нашем случае мы должны удалить все единицы, кроме первой, и все двойки, кроме первой, получив вот такой массив:
[1, 2, 3, 4]
2
Задача 19
Удаление лишних дублей из массива

Дан массив с элементами, например, вот такой:
[1, 2, 1, 3, 1, 1, 5, 1, 2, 4]

Удалите из массива второй и последующие дубли. В нашем случае мы должны удалить все единицы, кроме первой и второй. А вот двойки мы удалять не должны, так как у нее есть только один дубль. В результате у нас должен получится следующий массив:
[1, 2, 1, 3, 5, 2, 4]
2
Задача 20
Обратный порядок элементов

Дан список ul, например, вот такой:
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
<li>6</li>
<li>7</li>
<li>8</li>
<li>9</li>
</ul>

Сделайте кнопку, по нажатию на которую порядок пунктов списка поменяется на обратный. Физически, не через CSS.
🔥1
Задача 21
Дата масленницы

Определите дату ближайшей масленницы (последнее воскресенье зимы). Если в этом году она уже была - покажите за следующий год.
🫡1
Задача 22
Заглавные буквы в начале предложения

Дан текст. Сделайте заглавной первую букву каждого предложения в этом тексте.
🕊1
Задача 23
Второй по величине элемент

Дан массив. Найдите второй по величине элемент, после максимального.
Например, в следующем массиве это будет 4:
[1, 2, 3, 4, 5, 5]
🕊1
Задача 24
Перемешивание массива

Сделайте функцию, которая параметром будет принимать массив и перемешивать его элементы в случайном порядке, возвращая новый массив.
🕊1
Задача 25
Случайная выборка из массива

Дан массив без дублей. Получите из него массив из N случайных элементов, но так, чтобы элементы не повторялись.
🕊1🏆1
Задача 26
Разделение числа на случайную сумму

Дано целое число. Разбейте его на случайное количество целых чисел так, чтобы в сумме они давали это число. Пример: 100 можно разбить на 50+50, или 51+49, или 20+30+50. Количество фрагментов должно быть любым, случайным, сами фрагменты тоже должны быть случайными.
🕊1
Задача 27
Корректность времени

Дано время в формате часы:секунды. Проверьте то, что время является корректным: часы от 00 до 23, а минуты от 00 до 59.
🕊1
Задача 28
Разварот таблицы

Дана некоторая HTML таблица. Сделайте так, чтобы были видны первые N строк этой таблицы. А остальная таблица будет раскрываться по клику на нее.
👍2🕊1
Задача 29
Разбиение на слоги

Сделайте функцию, которая параметром будет принимать слово и возвращать массив его слогов.
🕊1
Задача 30
Нарастающее разбиение строки

Дана строка с любыми символами. Для примера пусть будет такая:
'1234567890'

Нужно разбить строку в массив таким образом:
['1', '23', '456', '7890']

И так далее, пока символы в строке не закончатся.
🕊1
Занимательные задачи уходят на каникулы на две недели:)
Всем хорошего нового года!
🎄20🎅31😁1🎉1🤝1
Задача 31
Половина заглавных букв

Дана строка с маленькими буквами и пробелами. Сделайте заглавными половину случайных букв этой строки, игнорируя пробелы.
🕊1
Задача 32
Следующий элемент ряда

Дан ряд: a, b, c, d ... x, y, z, aa, ab, ac, ... ay, az, ba, bb, ... bz, ... aaz.. Напишите функцию, которая получит следующий элемент по предыдущему.
👍2🕊1