PRO курс

JS: Коллекции

2980 сообщений в сообществе 3119 учащихся

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

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

  • Представлять данные в виде множеств с помощью Set
  • Использовать Map для создания словарей
  • Создавать ленивые коллекции для уменьшения количества проходов
  • Мемоизировать вызовы функций для оптимизации производительности
Set Map текучий интерфейс ленивые коллекции мемоизация
Последнее обновление: 06 сентября 2020

Уроки курса

  • 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, которая позволяет извлекать данные из массивов или объектов способом, схожим с объявлением массива в объекте.

    тесты

    упражнение

Испытания

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

Автор

Аватар пользователя Kirill Mokevnin

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

Сооснователь и CEO образовательного проекта Хекслет. Программирую с 2007 года. За это время прошёл путь от разработчика до технического директора и управляющего отдельным подразделением (филиалом). Управлял командами, в которых больше 50 разработчиков.

  • Программирую на языках: Elixir, Clojure, JavaScript, PHP, Ruby.
  • Соорганизатор конференции Nastachku.ru.
  • Вимер.
  • Топлю за DevOps и автоматизированные тесты.

Впечатления

Урок: Массив

Метод arr.indexOf(value) можно "хитро" использовать для проверки дублирующихся значений

Получил моральное удовлетворение от правильного решения этого задания, действительно "хитро")))

Спасибо команде Hexlet за интересную подачу материала!!!

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

Решила без использования третьей подсказки, надеюсь, не критично.

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

Yeeeee boy. Классная задачка, часа 2 решал. Но решение, естественно, не такое крутое как у учителя.

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

Спасибо!

Курс JS: Коллекции
продолжительность
14 часов
награда
94 балла