PRO курс

JS: Коллекции

2565 сообщений в сообществе 2483 учащихся

Этот курс посвящен конкретным приемам в работе с коллекциями, которые используются в языке 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. Программирует с 2007 года. За это время прошел путь от разработчика до технического директора и управляющего отдельным подразделением (филиалом). Управлял командами, в которых больше 50 разработчиков. Программирует на языках: elixir, clojure, javascript, php, ruby. Со-организатор конференции nastachku.ru. Вимер. Топит за DevOps и автоматизированные тесты.

Впечатления

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

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

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

Спасибо!

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

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

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

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