курс

JS: Коллекции

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

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

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

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

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

Описание

На этом курсе вы изучите конкретные приемы в работе с коллекциями в языке JavaScript. Вы узнаете больше о массивах, ассоциативных массивах и множествах. В итоге вы научитесь представлять данные в виде множеств с помощью Set, использовать Map для создания словарей, создавать ленивые коллекции для уменьшения количества проходов и мемоизировать вызовы функций для оптимизации производительности. Работа с коллекциями в JavaScript пригодится, если вы решите оптимизировать производительность своего кода. Знания из этого курса помогут программистам ускорить и упростить работу с данными.

Этот курс подойдет программистам, которые хотят улучшить свои навыки в работе с коллекциями в JavaScript. Чтобы учиться было проще, стоит заранее изучить основы JavaScript и JavaScript: Последовательности

Программа курса

Продолжительность 14 часов
  • 1

    Введение

    Знакомимся с целями курса и обсуждаем проект, над которым мы будем работать
  • 2

    Массив

    Знакомимся с самой распространенной структурой данных — массивом

    тесты

    упражнение

  • 3

    Map

    Рассматриваем структуру данных map и учимся работать с ней в языке JavaScript

    тесты

    упражнение

  • 4

    Set

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

    тесты

    упражнение

  • 5

    Fluent interface

    Знакомимся с паттерном проектирования Fluent Interface

    тесты

    упражнение

  • 6

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

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

    тесты

    упражнение

  • 7

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

    Знакомимся с ленивыми вычислениями и изучаем эту особенность языка в контексте работы с коллекциями в JavaScript

    тесты

    упражнение

  • 8

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

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

    тесты

    упражнение

  • 9

    Операция rest

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

    тесты

    упражнение

  • 10

    Операция spread

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

    тесты

    упражнение

  • 11

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

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

    тесты

    упражнение

  • 12

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

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

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

Испытания

Это практические задания, которые мы советуем выполнить после завершения курса. Задания помогут вам получить дополнительный опыт в программировании и закрепить полученные навыки. Обычно мы рекомендуем выполнить 3-5 испытаний. Но если не получается, не отчаивайтесь. Просто вернитесь к ним позже

#
Задание
% завершений

Отзывы

Аватар пользователя Данило Карпенко
Данило Карпенко 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!)

Спасибо!

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

профессия
от 6 300 ₽ в месяц
Разработка фронтенд-компонентов для веб-приложений
10 месяцев
с нуля
Старт 28 марта
профессия
от 6 300 ₽ в месяц
Разработка веб-приложений на Django
10 месяцев
с нуля
Старт 28 марта
профессия
от 6 183 ₽ в месяц
Ручное тестирование веб-приложений
4 месяца
с нуля
Старт 28 марта
профессия
от 6 300 ₽ в месяц
Разработка приложений на языке Java
10 месяцев
с нуля
Старт 28 марта
профессия
от 5 025 ₽ в месяц
новый
Сбор, анализ и интерпретация данных
9 месяцев
с нуля
Старт 28 марта
профессия
от 6 300 ₽ в месяц
Разработка веб-приложений на Laravel
10 месяцев
с нуля
Старт 28 марта
профессия
от 5 840 ₽ в месяц
Создание веб-приложений со скоростью света
5 месяцев
c опытом
Старт 28 марта
профессия
от 9 900 ₽ в месяц
Разработка фронтенд- и бэкенд-компонентов для веб-приложений
16 месяцев
с нуля
Старт 28 марта
профессия
от 6 300 ₽ в месяц
Разработка бэкенд-компонентов для веб-приложений
10 месяцев
с нуля
Старт 28 марта
профессия
новый
Автоматизированное тестирование веб-приложений на JavaScript
8 месяцев
c опытом
в разработке
Старт 28 марта
профессия
Верстка с использованием последних стандартов CSS
5 месяцев
с нуля
Старт в любое время