Испытания

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

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%

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

Автор Дата обновления Версий
radmirshkred 05 дек., 21:04 1
svetley1 05 дек., 18:06 1
dehoff 05 дек., 16:54 1
nikitanaumenko 01 дек., 17:29 1
eugenechebykin 01 дек., 13:32 1