Испытания

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

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%

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

Автор Дата обновления Версий
gorkiy 21 окт., 10:58 1
anatolykobzisty 18 окт., 14:20 1
hydazepam 18 окт., 12:15 2
mr_chepel 17 окт., 09:23 1
user-489606248aeedd4d 16 окт., 20:48 1