Я форматирую свои данные так, чтобы они выглядели как results
Когда я использую set var results = {}
, результат выводится при рендеринге, однако, если установить var results = []
в массив, он НЕ возвращается рендер. Я вижу это в журнале консоли, но не на рендере.
Вот CodeSandBox, с которым можно поиграться с
https://codesandbox.io/s/blue-fire-x52qb
var results = {}
dates.forEach(function(item) {
var arrayOfEvents = [];
arrayOfObjects.forEach(function(value) {
if (item === value.info.startDate) {
// Found a match...
arrayOfEvents.push(value);
}
})
if (typeof results["d" + item.date] == "undefined") {
results["d" + item] = {
date: item,
events: arrayOfEvents
};
}
});
{JSON.stringify(results, null, 4)}
Массив
var dates =
[
"01-06-2020",
"01-07-2020",
"01-08-2020",
"01-10-2020",
"02-04-2020"
]
Массив объектов
var arrayOfObjects =
[
{
"title": "Group President",
"id": "TpNY1SU_",
"info": {
"startDate": "01-06-2020"
}
},
{
"title": "TEST",
"id": "cEpPxopz",
"info": {
"startDate": "01-07-2020"
}
},
{
"title": "Example",
"id": "jnTMr_r7",
"info": {
"startDate": "01-07-2020"
}
},
]
Желаемый (не рабочий результат) получение []
при установке results = []
results = [
"d01-06-2020": {
"date": "01-06-2020",
"events": [
{
"title": "Group President",
"id": "TpNY1SU_",
"info": {
"startDate": "01-06-2020"
}
}
]
},
"d01-07-2020": {
"date": "01-07-2020",
"events": [
{
"title": "TEST",
"id": "cEpPxopz",
"info": {
"startDate": "01-07-2020"
}
},
{
"title": "Example",
"id": "jnTMr_r7",
"info": {
"startDate": "01-07-2020"
}
}
]
},
]
Рабочий результат при настройка results = {}
results = {
"d01-06-2020": {
"date": "01-06-2020",
"events": [
{
"title": "Group President",
"id": "TpNY1SU_",
"info": {
"startDate": "01-06-2020"
}
}
]
},
"d01-07-2020": {
"date": "01-07-2020",
"events": [
{
"title": "TEST",
"id": "cEpPxopz",
"info": {
"startDate": "01-07-2020"
}
},
{
"title": "Example",
"id": "jnTMr_r7",
"info": {
"startDate": "01-07-2020"
}
}
]
},
}