Доброго времени суток! Данный сборник задач нацелен на оттачивание навыков программирования на JavaScript. Сборник содержит как базовые (простые) задачи, так и более сложные, алгоритмические.
Сборник подготовлен Pre-Senior Frontend-разработчиком в целях обучения и решения реальных задач, которые могут встретиться в коммерческой разработке.
Так же, я занимаюсь ИНДИВИДУАЛЬНЫМ обучением от 0 до Junior+/Middle уровня, с практической помощью в трудоустройстве.
Более подробную информацию вы можете получить написав мне в одном из удобных социальных ресурсов VK/Telegram, ссылки ниже:
Тг канал о Frontend-разработке: Черников Андрей - про Frontend и не только
Для каждой задачи написана документация и тест кейсы (после документации), воспользуйтесь ими, чтобы проверить работоспособность и корректность своего кода к задаче.
Готовые решения можно отправлять сюда.
Чтобы перенести сборник на свой ПК, воспользуйтесь командами:
git clone https://github.com/Mistrade/mistrade_js_tasks.git #Клонирование репозитория
cd mistrade_js_tasks #переход в корневую папку
npm install #Чтобы установить зависимости (должен быть установлен nodejs, npm)
К каждой задаче написана специальная документация, с детальными описанием, требованиям, входным и выходным данным по
задаче. В некоторых задачах встречаются ссылки на дополнительные ресурсы, с которыми (по мнению автора) имеет смысл ознакомиться, для решения задачи.
Документация задачи начинается с /**
символов и заканчивается ниже */
, как показано ниже:
/**
* Описание тегов:
* @name - указывается имя переменной/функции, к которой написана документация
* @description - строки начинающиеся с такого тега, содержат описание задачи
* @param - таким образом помечаются аргументы функции
* @returns - возвращаемое значение функции
* @summary - таким тегом помечается ожидаемый результат
* Если в тегах @param, @returns, @types есть фигурные скобки {},
* то внутри скобок указан тип данных.
*
* Пример документации:
*
* Задача 5.
* @description Описание задачи: Напишите функцию, которая возвращает одноуровневый массив, составленный из значений многоуровневого массива.
* @description Требования: решить задачу без использования методов flat
* @description Сложность: 3/5
* @summary Ожидаемый результат: [1, 2, [3, 4, [5]]] => [1, 2, 3, 4, 5]
*
* @name flatArray
* @function
*
* @param arr{Array<any>} - входной многоуровневый массив
* @returns {Array<any>}
*
* @description Тренировка (необязательно): Определите алгоритмическую сложность вашего решения.
* @description Подробнее {@link https://tproger.ru/articles/computational-complexity-explained/ как вычислить алгоритмическую сложность}
*/
const flatArray = (arr) => {
//код функции
};
Подробную информацию по работе с документацией JsDoc можно почитать здесь