курс

JS: Деревья

3655 студентов 2413 сообщений
Последнее обновление: 22 октября 2021
Курс JS: Деревья
3 900 ₽ в месяц
за все курсы Хекслета
Зарегистрироваться
  • Тренажер с практикой
  • Бессрочный доступ к теории
  • Асинхронный формат обучения

Включено в курс

8 уроков (видео и/или текст)
15 упражнений в тренажере
27 проверочных тестов
Помощь в «Обсуждениях»
Доступ к остальным курсам платформы

Чему вы научитесь

  • Разбираться в принципах устройства и построении деревьев
  • Представлять в коде и обрабатывать данные имеющие рекурсивную природу, например файловую систему, каталоги или деревья комментариев
  • Строить абстракции поверх древовидных структур данных
  • Использовать функциональную парадигму

Описание

Множество окружающих нас вещей, в мире компьютеров, имеют древовидную структуру. Например, категории товаров, файловая система, исходный код, комментарии, HTML, XML, JSON и так далее. Подобные структуры имеют общую черту – они рекурсивны по своей природе. То есть любая внутренняя часть может стать полноценной внешней. Любой кусок JSON сам по себе JSON. Этот факт сильно влияет на способ организации и принципы работы с такими структурами. Для них вовсю используется древовидная рекурсия, которая требует хорошей подготовки.

Уроки курса

Продолжительность 10 часов

Формат обучения

Испытания

Это практические задания, которые мы советуем выполнить после завершения курса. Задания помогут вам получить дополнительный опыт в программировании и закрепить полученные навыки.

Впечатления

Аватар пользователя Петр Хлопцев
Петр Хлопцев 26 марта 2020

ДА! Пройдено. Я никогда так не радовался! Думал что сейчас будет жесть в финале, а оказалось что она уже была! Курс заставляет шестеренки крутиться. Прекрасный курс, спасибо Хекслет!


Аватар пользователя Vadim Dmitrenko
Vadim Dmitrenko 13 января 2020

Добрый день. Не ожидал, что в итоге данный курс мне так понравится. Особенно после первого задания, над которым просидел наверное пол дня, а мотивация в этот момент пробила дно и устремилась в бездну. Но чем дальше шел по курсу, тем становилось легче, в целом приходило понимание разных аспектов (где-то инстинктивно напрашивался дестракчеринг (как в sort в последнем задании), а где-то понимание, что нужно проще и не писать много лишнего кода). А последнее задание вообще было решено идентично учительскому. Вообщем спасибо за курс!


Аватар пользователя Olga Ioffe
Olga Ioffe 29 ноября 2019

Добрый день. Курс очень понравился. Задания заставляли подумать, отработать функции высшего порядка по-новому и попрактиковаться в destructuring assignment. Спасибо за интересные темы и задания.


Аватар пользователя Daniyar Zhanakhmetov
Daniyar Zhanakhmetov 23 мая 2020

Прошел Курс!

Очень качественно преподнесен материал, даже неожиданно (:, т.к. в предыдущих курсах возникали вопросы, но на них я получал всегда ответы. Здесь кроме вопроса про path.join по сути не возникло ни одного вопроса.

Все уроки были на одной волне.

Если темы: функции, массивы, объекты усвоены на отлично, этот курс залетает со свистом.


Аватар пользователя Irina Nikolaidi
Irina Nikolaidi 22 января 2019

Отличная задачка! Спасибо!

В начале как это часто тут бывает ничего не было понятно. Не могла понять, какие объекты нужно возвращать и как их записать, чтобы сохранить структуру. Склонялась то к reduce и map (хотя очевидно, что можно использовать то и другое).

Пришла к тому, что основные преобразования должны происходить внутри главной части функции, а map или reduce должны нам возвращать массив, внутри которого рекурсивный вызов функции с переданным в него объектом. Результат работы map или reduce нужно передать в свойство children итогового возвращаемого объекта. Чтобы возвратить остальные свойства объекта можно воспользоваться или destructuring assigment для объекта (как я сначала сделала) или ...spread, как я поняла после просмотра решения учителя.

Моё решение.

Рекомендуемые программы

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

Иконка программы Фронтенд-разработчик
Профессия
Разработка фронтенд-компонентов веб-приложений
27 октября 8 месяцев
Иконка программы Node.js-разработчик
Профессия
Разработка бэкенд-компонентов веб-приложений
27 октября 8 месяцев