курс

JS: Коллекции

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

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

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

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

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

Описание

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

Уроки курса

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

    Дополнительные материалы

    Помогают глубже и всесторонне рассмотреть тему курса в открытых статьях и видео подобранных командой Хекслета

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

Испытания

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

Впечатления

Аватар пользователя Данил Карпенко
Данил Карпенко 25 июля 2019

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

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

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


Аватар пользователя alexandr_k
alexandr_k 12 апреля 2019

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


Аватар пользователя Мария Ковшарова
Мария Ковшарова 26 сентября 2018

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

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


Аватар пользователя Виктор Анашкин
Виктор Анашкин 09 июля 2018

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


Аватар пользователя Алексей  Строителев
Алексей Строителев 14 июня 2018

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

Спасибо!