Карта (Object vs Map)

Схема работы с картой и хеш-таблицей https://docs.google.com/spreadsheets/d/1k7qB_kii5RSUIi5hk0K1TAc87IDGs2JUlYm3NO0U9mA/edit?usp=sharing

Object vs Map#

Методы работы с массивами (пригодятся для преобразования в карту)#

У массивов есть 3 ключевых метода, с помощью которых можно решить большинство задач по их чтению и обработке данных:

  • filter - возвращает новый массив только с теми элементами, что подходят по указанному критерию (предикату)
  • map - возвращает массив того же размера c элементами преобразованными по указанной функции
  • reduce - "схлопывает" массив до одного значения, накапливая результат на каждой итерации. Самый универсальный метод.

Еще несколько полезных:

  • sort

:::warn В большинстве случаев использование forEach - признак плохого кода. В основном задача решается более лаконично с помощью filter, map или reduce. :::

💻 Word frequency#

Написать функцию определения частоты слов в тексте

💻 Employee birthdays#

Есть список сотрудников. Сделать их вывод с группировкой по месяцу рождения отсортированных по дате. Для текущего и следующего месяца.

Декабрь 2020
(20) - Ваня Иванов (23 года)
(23) - Петя Петров (25 лет)
Январь 2021
(01) - Коля Новогодний (21 год)
(07) - Стас Рождественский (30 лет)

Реализовать возможность задать "горизонт планирования" - на сколько месяцев вперед показывать дни рождения.

  • 0 - только текущий
  • 1 - текущий и следующий
  • 2 - текущий и два следующих