Занимательные задачи JavaScript
789 subscribers
8 links
Ваша цель: решить задачу максимально изящно и просто. Предлагайте свои варианты решения в комментариях. Задачи выходят каждый день в 14.00.
Download Telegram
Задача 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
Отделение троек

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

Дана таблица. При клике на ячейку она активируется каким-нибудь цветом. Сделайте так, чтобы ячейки вокруг активированной не активировались.
Задача 287
Активация по времени

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

Дан текстареа. Как известно, его размер можно менять, потянув за уголок. Сделайте так, чтобы можно было изменить размер этого текстареа, а затем обновить страницу - и изменения не должны пропасть.
Задача 289
Избыточные числа

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

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

Дано окно браузера. Сделайте так, чтобы элементы, целиком находящиеся в левой половине окна покрасились в зеленый цвет, целиком находящиеся в правой половине окна - в синий, а находящиеся и там, и там - в красный.
Задача 292
Процесс деления

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