У меня вопрос по сортировке словарного объекта JS es6. Я пытаюсь отфильтровать массив, но все еще сохраняю структуру массива в объекте каждого месяца. Вот макет данных:
"soldListings": {
"Jan - 2020": [
{
"id": 159,
"user_id": 1,
"type_id": 1,
},
{
"id": 173,
"user_id": 1,
"type_id": 1,
},
{
"id": 563,
"user_id": 1,
"type_id": 2,
}
],
"Dec - 2019": [
{
"id": 183,
"user_id": 1,
"type_id": 1,
}
],
"Oct - 2019": [
{
"id": 176,
"user_id": 1,
"type_id": 1,
}
]
}
Если бы это был плоский массив объектов, я бы сделал что-то вроде:
typeFilter = data.filter((listing) => {
if(listing.type_id){
return listing.type_id == this.state.soldListTypeFilter ;
}
});
ОБНОВЛЕНИЕ
Мне нужно вывод должен быть в том же формате, что и ввод. Например, если бы я отфильтровал объект по type_id = 2, он вернул бы это:
"soldListings": {
"Jan - 2020": [
{
"id": 563,
"user_id": 1,
"type_id": 2,
}
],
"Dec - 2019": [
],
"Oct - 2019": [
]
}