Испытания

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

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

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

Автор Дата обновления Версий
user-1a9d86608a4091e6 03 апр., 14:26 1
droopy 23 марта, 09:11 1
nikita_b 23 марта, 03:57 1
user-c7e19634e9633dbc 17 марта, 18:01 1
user-99ca188d2c6eecad 17 марта, 15:58 1