Занимательные задачи 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
Случайные неповторяющиеся числа

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