В настоящее время я начинаю с пустого массива, reportSections
. Затем я перебираю значения date group
и record date
и добавляю уникальные значения в мой массив reportSections
.
let reportSections = [];
let dataGroups = new Set();
let recordDates = new Set();
data.forEach(item => {
dataGroups.add(item['date group']);
recordDates.add(item['record date']);
});
for (const [index, value] of [...dataGroups].entries())
reportSections.push({
id: value,
name: [...recordDates][index]
});
Вот небольшой пример того, как данные выглядят внутри data
переменная, через которую я буду проходить:
[
{
'record date': '2020-04-01',
'date group': 'MONTH START'
},
{
'record date': '2020-04-01',
'date group': 'MONTH START'
},
{
'record date': '2020-04-05',
'date group': 'MONTH TO DATE - Week 1'
},
{
'record date': '2020-04-05',
'date group': 'MONTH TO DATE - Week 1'
}
]
Однако теперь мне нужно сделать что-то очень похожее на три другие части моего кода, но это немного другая настройка, так как вместо этого необходимо добавить значения в объекты массива и, следовательно, не может использовать метод pu sh (). Вот как выглядит текущий код:
let filteredData = {
monthstart: _.filter(data, {'date group': 'MONTH START'}),
monthstart_week1: _.filter(data, {'date group': 'MONTH TO DATE - Week 1'}),
monthstart_week2: _.filter(data, {'date group': 'MONTH TO DATE - Week 2'}),
};
let combinedData = {
monthstart: [],
monthstart_week1: [],
monthstart_week2: [],
};
let reportMap = {
monthstart: {},
monthstart_week1: {},
monthstart_week2: {},
};
Обычно у меня есть этот жестко запрограммированный код, но поскольку я буду иметь дело с динамическими датами c, и в данном месяце может быть разное количество недель, Мне нужно что-то динамическое c на моем конце. У меня вопрос: как я могу oop просмотреть данные и отобразить каждый уникальный date group
в filteredData
, combinedData
и reportMap
, как я делал для своего массива reportSections
?
Sidenote:
Пустые массивы и объекты в combinedData
и reportMap
останутся такими же, как и есть, с изменением только фактического имени (ie monthstart
будет динамически меняться но []
или {}
не изменились бы. С filteredData
имя также изменится (ie monthstart
), и мне также потребуется то же значение из date group
, которое будет использоваться в _.filter()
часть.
Я надеюсь, что смог объяснить это достаточно четко. Если мне нужно объяснить больше, просто дайте мне знать, и я могу добавить больше деталей к моему вопросу, но любая помощь будет принята с благодарностью. Спасибо !