PRO курс

JS: Коллекции

2347 сообщений в сообществе 2309 учащихся

Описание

Этот курс посвящен конкретным приемам в работе с коллекциями, которые используются в языке JavaScript, а также изучению основных типов данных: массивов, ассоциативных массивов и множеств. В течение курса изучаются темы техники мемоизации, ленивых вычислений, использования функций высшего порядка, так называемых spread- и rest-операций и техник разрушающих присваиваний.

Пререквизиты

JS: Программирование, управляемое данными

Уроки курса

  • 1

    Введение

    Познакомиться с курсом и рассмотреть проект, над которым мы будем работать в течение всего курса.
  • 2

    Массив

    Познакомиться с самой распространенной структурой данных — массивом, и посмотреть на общее описание и особенности работы с массивом в JavaScript.

    тесты

    упражнение

  • 3

    Map

    Рассмотреть структуру данных "map", также известную как ассоциативный массив или "словарь" в некоторых языках программирования. Научиться работать с map в языке JavaScript.

    тесты

    упражнение

  • 4

    Set

    Рассмотреть тип и структуру данных set, который является реализацией математической структуры «множество».

    тесты

    упражнение

  • 5

    Fluent interface

    Познакомиться с паттерном проектирования "fluent interface".

    тесты

    упражнение

  • 6

    Неизменяемость

    Рассмотреть одну важную особенность — «неизменяемость», которая нужна нам для исправления некоторых важных недостатков реализации fluent-интерфейса.

    тесты

    упражнение

  • 7

    Ленивые вычисления

    Познакомиться с так называемыми «ленивыми» вычислениями — способом оптимизации. Рассмотреть эту особенность языка в контексте работы с коллекциями в JavaScript.

    тесты

    упражнение

  • 8

    getter и мемоизация

    Познакомиться с возможностью языка JavaScript, которая позволяет создавать динамические свойства.

    тесты

    упражнение

  • 9

    Операция rest

    Рассмотреть интересную особенность, позволяющую передавать разное количество параметров в функцию.

    тесты

    упражнение

  • 10

    Операция spread

    Рассмотреть «другую сторону» операции rest — операцию spread.

    тесты

    упражнение

  • 11

    Дестракчеринг

    Познакомиться с возможностью JavaScript, которая позволяет извлекать данные из массивов или объектов способом, схожим с объявлением массива в объекте.

    тесты

    упражнение

Испытания

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

Автор

Кирилл Мокевнин

Сооснователь и технический директор образовательного проекта Hexlet. Соорганизатор конференции Nastachku.ru. В прошлом руководил филиалом undev.ru в Ульяновске, а до этого работал в Qik (Skype). Создает инженерную культуру в компаниях и несет в массы XP, DDD и DevOps. Евангелист ментального программирования.

Впечатления #

В очередной раз восхищаюсь тем, как учителю удается в 2 строчках выразить то же самое, что у меня занимает 11. Вот бы мне так!

orderBy(fn, direction = 'asc')

Из решения учителя освоил, как еще (помимо проверки на undefined) можно задавать значения параметров функции по умолчанию.

Секс не идет ни в какое сравнение с тем, что ты, порой, испытываешь после прошедшего проверку решения, на которое ты вышел спустя много времени, пробы и ошибки)

Из всех пройденных курсов , оказалась самая трудная задача. Два дня просидел, мозг просто взрывался! При чем алгоритм был понятен: нужно в operatins добавить либо уже почти готовые функции, либо из входящих объектов делать функции. Первое было легко. Второе вроде тоже понятно: взять ключи, и по ключам сравнить объект "машину" и входящий объект. Но как сюда воткнуть every - оказалось полным авралом) Синтаксис есть, пример есть, функцию можно применять только к массивам понятно, но к каким элементам и как ее вставлять сюда не понятно))) ДВА ДНЯ ПРОСИДЕЛ!)Возненавидел себя за тупость, возненавидел весь мир!)И как же мне полегчало и стало на душе хорошо :DD, когда увидев здесь единственный нужный комментарий, я все таки решил, и решение оказалось ну прям как у учителя только через reduce!)

Спасибо!

Засыпая с нерешенной уже второй день задачей, я уже думал писать негативные отзывы. И тут блин понеслась! Эврика епты! Вот же оно как надо! Нахрен сон, гоу за комп! И вот, после еще пары часов матюков, она решена. Теперь уже я горд собой, и добр как никогда, так что какие тут могут быть негативы )))

Нахрен сон, гоу некст...(((

продолжительность
27 часов
награда
107 баллов
Получить доступ к курсу