Задачи по JavaScript

Освойте основы JavaScript: замыкания, промисы, обработку событий и многое другое. Эти задачи часто встречаются на фронтенд-собеседованиях.

Контекст this в стрелочных функциях

Mediumthisarrow-functions

Контекст this в конструкторах и стрелочных функциях

Mediumarrow-functionsthis

Функция createBase

Easyclosuresfunctions

Функция delay

Easypromisesasync

Порядок выполнения промисов и setTimeout

Mediumpromisesevent-loop

Контекст this в callback у Array.filter

Mediumthiscontext

Порядок console.log с Promise и setTimeout

Mediumevent-looppromises

Реализация deep copy

Mediumobjectsrecursion

Сумма с каррированием

MediumFunctionCurrying

Перемещение карточки между колонками

MediumArrayObject

Замыкание в цикле (var vs let)

EasyClosuresAsync

Группировка по ключу (groupBy)

EasyArrayObject

Пересечение интервалов

MediumArraySorting

Все промисы (Promise.all)

MediumPromiseAsync

Отложенный вызов (debounce)

MediumFunctionTiming

Доступ к полю по пути (lodash.get)

MediumObjectString

Проверка подпоследовательности

EasyStringTwo Pointers

Поток сообщений по порядку

MediumAsyncQueue

Сжать массив в диапазоны

MediumArrayString

Глубокое сравнение объектов

MediumObjectRecursion

Декоратор повторных попыток

MediumPromiseAsync

Асинхронный memoize с TTL

HardPromiseCache

Сортировка билетов

MediumObjectGraph

Эмиттер событий (EventEmitter)

MediumClassPattern

Очередь задач с лимитом

HardPromiseAsync

Кеш с вытеснением LRU

HardClassMap

Разворачивание вложенного объекта

MediumObjectRecursion

Разворачивание массива

EasyArrayRecursion

Получить узлы по типу

MediumTreeRecursion

Объединить строки с разделителем

EasyStringSber

Проверка строки на палиндром

EasyStringTwo Pointers

Расчет стоимости бронирования отеля

MediumDateMath

Разность массивов

EasyArraySet

Максимум на самой глубокой вложенности

MediumArrayRecursion

Собрать строку из объектов

MediumArraySorting

Поиск строк по подстроке

EasyStringArray

Сделать первую букву слов заглавной

EasyStringRegex

Рекурсивная сумма всех чисел в объекте

MediumObjectRecursion

Сумма всех значений в дереве

MediumTreeDFS

Проверка на панграмму

EasyStringSet

Сложение чисел, представленных массивами

MediumArrayMath

Удалить лишние повторы символов

EasyStringTwo Pointers