Испытания

Нормализация данных

JS: Коллекции

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/
Успешных завершений: 82%

Последние код-ревью

Автор Дата обновления Версий
maria-petrova 20 янв., 19:52 1
user-c5790387fba775db 20 янв., 16:59 1
kirillsh 16 янв., 16:54 2
vanger 13 янв., 08:59 1
muslim 12 янв., 00:07 1