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

Дано меню со ссылками. Покрасьте в красный цвет ту ссылку, адрес которой совпадает с URL из адресной строки браузера.
1
Задача 266
Перевернутая пирамидка

Выведите на экран следующую пирамидку:
xxxxx
xxxx
xxx
xx
x
Задача 267
Разложение на два множителя

Дан инпут, кнопка и список ul. В инпут вводится число. По клику на кнопку выведите список всех возможных вариантов разложения числа на два множителя.
Задача 268
Селекты городов и стран

Даны два селекта. В первом селекте выводятся страны. Сделайте так, чтобы во втором селекте выводились города выбранной страны.
Задача 269
Выпадающее меню

Дано меню со ссылками. Сделайте так, чтобы по клику на ссылку меню под ней выпадало подменю.
Задача 270
Закрытие блока

Дан див. У этого дива есть крестик закрытия. Сделайте так, чтобы по клику на крестик, либо на любое место страницы вне дива, этот див прятался.
Задача 271
Строки текста в список

Дан текстареа и ul. В текстареа вводится текст. Сделайте так, чтобы по нажатию Shift + Enter каждая строка текста добавилась в список в виде отдельного тега li.
1
Задача 272
Разбиение в двухмерный

Дан некоторый массив:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]

Дана переменная:
let n = 3;

Превратите этот массив в двухмерный, по n элементов в подмассиве.
Задача 273
Равные подмассивы

Дан массив:
[
[1, 2, 3, 4, 5],
[1, 2, 3],
[1, 2],
]

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

Дан список ul и кнопка. По нажатию на кнопку перемешайте пункты списка в случайном порядке.
Задача 275
Случайное слово на букву

Дан массив со словами. Получите из этого массива случайное слово, начинающееся на заданную букву.
Задача 276
График на канвасе

Дан массив с точками: [ [1, 2], [2, 4], [3, 8], [4, 16], [5, 32] ]

Отрисуйте эти точки на графике.
Задача 277
Расширение таблицы

Дана таблица. По нажатию на кнопку добавьте в эту таблицу и новый ряд, и новую колонку.
Задача 278
Закрашивание ячейки

Дана таблица и кнопка. По нажатию на кнопку покрасьте в красный цвет случайную ячейку таблицы. Повторное нажатие на кнопку должно закрашивать новую незакрашенную ячейку, пока ячейки не закончатся.
Задача 279
Таблица из массива

Дан массив:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]

Дан инпут и кнопка. В инпут вводится число. По нажатию на кнопку создайте таблицу, заполненную данными из этого массива, содержащую столько колонок, сколько указано в инпуте.
Задача 280
Форма существительного

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

Вот как должна работать эта функция:
func(1, 'яблоко', 'яблока', 'яблок'); // выведет '1 яблоко'
func(2, 'яблоко', 'яблока', 'яблок'); // выведет '2 яблока'
func(3, 'яблоко', 'яблока', 'яблок'); // выведет '3 яблока'
func(4, 'яблоко', 'яблока', 'яблок'); // выведет '4 яблока'
func(5, 'яблоко', 'яблока', 'яблок'); // выведет '5 яблок'

Вот пример для для двухзначных чисел:
func(11, 'яблоко', 'яблока', 'яблок'); // выведет '11 яблок'
func(12, 'яблоко', 'яблока', 'яблок'); // выведет '12 яблок'
func(21, 'яблоко', 'яблока', 'яблок'); // выведет '21 яблоко'
func(23, 'яблоко', 'яблока', 'яблок'); // выведет '23 яблока'

Наша функция должна работать для чисел любой длины:
func(1223421, 'яблоко', 'яблока', 'яблок'); // выведет '1223421 яблоко'
Задача 281
Число прописью

Сделайте функцию, которая будет принимать число, а возвращать это число прописью. Пусть функция работает с числами до 999.

Смотрите пример:
func(123); // выведет 'сто двадцать три'
Задача 282
Группа ячеек

Дана таблица. Юзер кликает по очереди на две ячейки, выделяя их. Сделайте так, чтобы красным цветом выделились все ячейки, расположенные по порядку между теми, на которые кликнул юзер.
Задача 283
Множественное число

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

Даны два числа. Выведите на экран процесс умножения этих чисел в столбик, как в школе.
Задача 285
Отделение троек

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