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

Дан список событий за определенные даты, хранящийся в следующей структуре:
{
'2019-12-29': ['name1', 'name3', 'name5', 'name7'],
'2019-12-30': ['name4', 'name8', 'name9'],
'2019-12-31': ['name2', 'name6'],
}

Напишите код, которой переделает структуру данных вот в такую:
[
{
date: '2019-12-29'
event: 'name1'
},
{
date: '2019-12-31'
event: 'name2'
},
{
date: '2019-12-29'
event: 'name3'
},
{
date: '2019-12-30'
event: 'name4'
},
{
date: '2019-12-29'
event: 'name5'
},
{
date: '2019-12-31'
event: 'name6'
},
{
date: '2019-12-29'
event: 'name7'
},
{
date: '2019-12-30'
event: 'name8'
},
{
date: '2019-12-30'
event: 'name9'
},
]
👍1🕊1
Задача 62
Конвертация дат с рабиением

Дана следующая структура:
{
'2019-12-31': 1,
'2019-12-30': 2,
'2019-12-29': 3,
'2019-11-28': 4,
'2019-11-27': 5,
'2018-12-31': 6,
'2018-12-32': 7,
}

Напишите код, которой переделает структуру данных вот в такую:
{
2019: {
12: {
31: 1,
30: 2,
29: 3,
},
11: {
28: 4,
27: 5,
}
},
2018: {
12: {
31: 6,
30: 7,
},
}
}
👍1🕊1
Задача 63
Следующее число Фибоначчи

Сделайте функцию, каждый новый вызов которой будет выдавать следующее число Фибоначчи.
👍1🕊1
Задача 64
Разбиение картинки

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

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

Дан массив. Подсчитайте количество различных элементов в нем. В качестве результата верните объект, в котором ключами будут элементы массива, а значениями - их количество в массиве.
👍1🕊1
Задача 67
Самое популярное слово

Дан текст. Найдите самое часто встречающееся слово в этом тексте.
👍1🕊1
Задача 68
Число прописью

Дано некоторое число:
let num = 1234567890

Выведите это число прописью:
`
один миллиард двести тридцать четыре миллиона
пятьсот шестьдесят семь тысяч восемсот девяносто
`

Ваш код, конечно же, должен быть универсальным и работать для любых чисел в пределах миллиардов.
👍2🕊1
Задача 69
Число из прописи

Дано некоторое число прописью:
let str = `
один миллиард двести тридцать четыре миллиона
пятьсот шестьдесят семь тысяч восемсот девяносто
`

Преобразуйте эту пропись в нормальное число:
1234567890

Ваш код, конечно же, должен быть универсальным и работать для любых чисел в пределах миллиардов.
👍3🕊1
Задача 70
Группировка массива по первым буквам

Дан произвольный массив со словами, начинающимися на различные буквы, например, вот такой:
let arr = [
'axx', 'bxx', 'cxx',
'ayy', 'byy', 'cyy',
'azz', 'bzz', 'czz',
];

Преобразуйте этот массив в объект, в котором ключами будут первые буквы слов, а значениями массивы слов, начинающихся на эти буквы:
{
'a': [
'axx', 'ayy', 'azz',
],
'b': [
'bxx', 'byy', 'bzz',
],
'c': [
'cxx', 'cyy', 'czz',
],
}
👍1🕊1
Задача 71
Сортировка массива объектов

Дан массив объектов:
[
{
name: 'user3',
age: 31,
salary: 100,
},
{
name: 'user1',
age: 32,
salary: 300,
},
{
name: 'user2',
age: 33,
salary: 200,
},
]

Выполните сортировку этого массива по заданному полю (по имени, возрасту или зарплате).
👍2🕊1
Задача 72
Заданный знак числа Пи

Сделайте функцию, которая будет возвращать заданный знак числа Пи (например, тысячный знак).
👍1🕊1
Бесплатный курс по Python
Занятия в виде онлайн лекций
Лектор: Трепачёв Дмитрий, автор сайта code.mu
Начало: 1 апреля
Расписание: пн, чт в 20.15-21.00 по москве
Продолжительность: 8 лекций + 2 недели практики

Для записи вступите в следующий канал:
https://t.me/+8wzlnw2vrsIwODAy
Задача 73
Центральная ячейка таблицы

Дана прямоугольная HTML таблица с нечетным количеством рядов и колонок. По нажатию на кнопку выделите центральную ячейку этой таблицы.
👍1🕊1
Задача 74
Центральный квадратик таблицы

Дана прямоугольная HTML таблица с четным количеством рядов и колонок. По нажатию на кнопку выделите 4 центральных ячейки этой таблицы.
😁1🕊1👨‍💻1
Задача 75
Передвижение таблицы

Дана квадратная HTML таблица произвольного размера:
01 02 03 04
05 06 07 08
09 10 11 12
13 14 15 16

По клику на кнопку передвиньте ячейки таблицы по кругу:
16 01 02 03
04 05 06 07
08 09 10 11
12 13 14 15
👍1🕊1
Задача 76
Удаление уникальных элементов массива

Дан массив. Удалите из него все элементы, которые встречаются только один раз.
👍3🕊1
Задача 77
Смена оттенка цвета

Сделайте функцию, которая будет принимать цвет в hex формате и делать его более темного оттенка.
🤔2🕊1
Задача 78
Удаление лишних слов

Дан текст. Найдите все места с двумя одинаковыми словами подряд и удалите лишние слова.
🔥2🕊1
Задача 79
Наложение элементов

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