557
Студентов
84%
Завершения
normalizeData.js
Реализуйте и экспортируйте по умолчанию функцию, которая переводит входные данные в удобный для построения графика формат.
На вход эта функция принимает массив данных. Каждая запись массива представляет из себя объект типа { value: 14, date: '02.08.2018' }
. Например:
const data = [
{ value: 14, date: '02.08.2018' },
{ value: 43, date: '03.08.2018' },
{ value: 38, date: '05.08.2018' },
];
Вторым и третьим параметрами функция принимает даты (в форме строк типа 'YYYY-MM-DD'
) начала и конца периода:
const begin = '2018-08-01';
const end = '2018-08-06';
Диапазон дат задаёт размер выходного массива, который должна сгенерировать реализуемая функция. Правила формирования итогового массива:
- он заполняется записями по всем дням из диапазона
begin - end
- в него включаются только те записи из входного массива, даты которых попадают в диапазон
- если во входном массиве нет данных для какого-то дня из диапазона, то в свойство
value
записи этого дня установить значение0
const result = normalizeData(data, beginDate, endDate);
console.log(result);
// OUTPUT
[ { value: 0, date: '01.08.2018' },
{ value: 14, date: '02.08.2018' },
{ value: 43, date: '03.08.2018' },
{ value: 0, date: '04.08.2018' },
{ value: 38, date: '05.08.2018' },
{ value: 0, date: '06.08.2018' } ]
Подсказки
- Обратите внимание, что в практике импортированы функции для работы c датами, коллекциями и объектами. При необходимости вы можете (это необязательное требование) ими воспользоваться.
- Даты: https://date-fns.org/
Для полного доступа к испытанию нужен базовый план
Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.