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

Задачи будут выходить 14.00. Решайте и присылайте ваш код в комментарии к задаче. Начинаем 13-го ноября!
👍34🔥71
Задача 1
Нахождение слов

Дана строка со словами. Не используя массивы, циклы и регулярные выражения выведите на экран: первое слово, второе слово, последнее слово.
👍81
Задача 2
Отделение троек цифр в числе

Дано число, например такое:
'12345678'

Отделите пробелом каждую тройку чисел с конца. То есть у нас должно получится:
'12 345 678'
1🔥1
Задача 3
Удаление слова по клику по нему

Дан див с текстом:
<div>
word1 word2 word3 word4 word5 word6 word7
</div>

Сделайте так, чтобы по клику на конкретное слово оно удалялось из текста.
👍4🔥1
Задача 4
Разложение на простые множители

Дано число. Разложите его на простые множители. Например, разложим число 120. Результатом будет: 2 * 2 * 2 * 3 * 5.
🔥1
Задача 5
Ограниченная активация ячеек таблицы

Дана таблица произвольного размера. Пусть по нажатию на ячейку таблицы эта ячейка как-то активируется, например, красится красным фоном. Сделайте так, чтобы, если активировано 5 ячеек подряд по горизонтали или по вертикали, больше никаких ячеек активировать было нельзя.
🔥8👍2
Задача 6
Раздельные случайные цвета

Дана HTML таблица произвольного размера. Дан массив из достаточного количества цветов, например, из 7. Сделайте так, чтобы все ячейки окрасились в случайный цвет из массива, но так, чтобы у каждой ячейки соседи по вертикали и горизонтали не были одного с ней цвета (по диагонали можно).
🔥5👍1
Задача 7
Сортировка списка

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

Сделайте так, чтобы по нажатию на кнопку выполнилась сортировка пунктов списка по возрастанию значений тегов li.
🔥5👌1
Задача 8
Максимальное значение странного массива

Дан массив юзеров и их зарплат в следующем формате:
[
'user1', 300, 'user2', 500,
'user3', 600, 'user4', 200,
]

Получите имя юзера с максимальной зарплатой.
🔥1
Задача 9
Сортировка странного массива

Дан массив юзеров и их зарплат в следующем формате:
[
'user1', 300, 'user2', 500,
'user3', 600, 'user4', 200,
]

Отсортируйте массив по возрастанию зарплаты.
🔥1
Задача 10
Перестановка с соседом

Дан некоторый DOM элемент. Поменяйте этот элемент местами с его соседом снизу. Считаем, что сосед снизу точно есть.
🔥1
Задача 11
Транспонирование таблицы

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

01 02 03 04
05 06 07 08
09 10 11 12
13 14 15 16


После транспонирования она должна превратится в следующую:

01 05 09 13
02 06 10 14
03 07 11 15
04 08 12 16
Задача 12
Случайные неповторяющиеся числа

Сделайте функцию, которая будет выдавать случайные целые числа из заданного диапазона, но так, чтобы вызовы функции не выдавали два одинаковых числа подряд.
Задача 13
Ссылка на чужой сайт

Дана ссылка. Если ее href начинается на http:// или https:// и после стоит не наш домен, добавьте ссылке атрибут target="_blank".
Задача 14
Смена регистра всех букв

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

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