29.06.2019, 05:46
|
Интересующийся
|
|
Регистрация: 08.03.2019
Сообщений: 22
|
|
Как правильно сформировать данные?
Всем привет. Ребята, подскажите, пожалуйста, как на основании следующих данных:
[
{
"date": "2017-10-16 12:07:07",
"name_doc_type": "Расход",
"id": 564564867361367,
"image": "http://ecosned.ru/image/cache/catalog/categories/iz_fermerskogo_moloka/tvorog/7/ge-catalog-categories-iz_fermerskogo_moloka-tvorog-tvorozhnaya_massa_s_kuragoy-800x800.jpg",
"name": "Творог 9% с курагой",
"price": 121.0,
"quantity": 45,
"removed": 0
},
{
"date": "2017-10-16 15:09:08",
"name_doc_type": "Расчет",
"id": 564564867361368,
"image": "https://images.ua.prom.st/50389447_w640_h640_ncheskaya_s_grushej_200_g..jpg",
"name": "Молочный Груша 200",
"price": 180.0,
"quantity": 65,
"removed": 0
},
{
"date": "2017-10-16 15:09:08",
"name_doc_type": "Расчет",
"id": 564564867361368,
"image": "https://www.komus.ru/medias/sys_master/root/hd3/h93/9286922043422.jpg",
"name": "Молочный Изюм 100",
"price": 102.0,
"quantity": 72,
"removed": 0
},
{
"date": "2017-10-16 18:11:09",
"name_doc_type": "Приход",
"id": 564564867361369,
"image": "http://irecommend.ru/sites/default/files/imagecache/copyright1/user-images/299388/Ydfgl76IXe0nEM2gO6Ww.JPG",
"name": "Молочный Традиция 100",
"price": 115.0,
"quantity": 60,
"removed": 0
},
{
"date": "2017-10-16 18:11:09",
"name_doc_type": "Приход",
"id": 564564867361369,
"image": "https://www.utkonos.ru/images/photo/3054/3054289H.jpg",
"name": "Аленка карамель 100г Акционный товар Большая скидка",
"price": 73.9,
"quantity": 99,
"removed": 0
},
{
"date": "2017-11-29 19:31:03",
"name_doc_type": "Приход",
"id": 564564867361363,
"image": "https://tashkentcena.com/files/products/893eebe7b69146290886dc504a3328ef.jpeg",
"name": "Горький коньяк 100",
"price": 336.0,
"quantity": 94,
"removed": 0
},
{
"date": "2017-11-29 19:31:03",
"name_doc_type": "Приход",
"id": 564564867361363,
"image": "https://www.utkonos.ru/images/photo/3176/3176192H.jpg",
"name": "Сыр 125г",
"price": 131.0,
"quantity": 64,
"removed": 0
},
{
"date": "2017-11-29 19:31:03",
"name_doc_type": "Приход",
"id": 564564867361363,
"image": "https://www.utkonos.ru/images/photo/3265/3265004H.jpg",
"name": "Молочный Яблоко 100",
"price": 25.1,
"quantity": 52,
"removed": 0
},
{
"date": "2017-11-29 19:31:03",
"name_doc_type": "Приход",
"id": 564564867361363,
"image": null,
"name": "Парус апельсин 1л",
"price": 150.0,
"quantity": 43,
"removed": 1
}
]
сформировать вот такую структуру данных:
Я имею в виду, что из исходных данных мне нужно сделать что-то вроде вот этого:
const data = [
{
id: 1,
date: '2017-10-16',
docs: [
{
"date": "2017-10-16 18:11:09",
"name_doc_type": "Приход",
"id": 564564867361369,
"image": "https://www.utkonos.ru/images/photo/3054/3054289H.jpg",
"name": "Аленка карамель 100г Акционный товар Большая скидка",
"price": 73.9,
"quantity": 99,
"removed": 0
},
{
"date": "2017-10-16 18:11:09",
"name_doc_type": "Приход",
"id": 564564867361369,
"image": "https://mariupolcena.com/files/products/9ff44136e6ccb0afb404ad26f727e67d.jpeg",
"name": "Русская картошка чедар 50",
"price": 46.3,
"quantity": 51,
"removed": 0
},
{
"date": "2017-10-16 12:07:07",
"name_doc_type": "Расход",
"id": 564564867361367,
"image": "https://www.utkonos.ru/images/photo/3265/3265004H.jpg",
"name": "Молочный Яблоко 100",
"price": 25.1,
"quantity": 44,
"removed": 0
}
]
}
]
Следующий объект, это будет следующая дата с относящимися к ней данными и так далее.
Последний раз редактировалось darktowerk56c, 29.06.2019 в 06:21.
|
|
29.06.2019, 08:10
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,121
|
|
darktowerk56c,
const json = [
{
"date": "2017-10-16 12:07:07",
"name_doc_type": "Расход",
"id": 564564867361367,
"image": "http://ecosned.ru/image/cache/catalog/categories/iz_fermerskogo_moloka/tvorog/7/ge-catalog-categories-iz_fermerskogo_moloka-tvorog-tvorozhnaya_massa_s_kuragoy-800x800.jpg",
"name": "Творог 9% с курагой",
"price": 121.0,
"quantity": 45,
"removed": 0
},
{
"date": "2017-10-16 15:09:08",
"name_doc_type": "Расчет",
"id": 564564867361368,
"image": "https://images.ua.prom.st/50389447_w640_h640_ncheskaya_s_grushej_200_g..jpg",
"name": "Молочный Груша 200",
"price": 180.0,
"quantity": 65,
"removed": 0
},
{
"date": "2017-10-16 15:09:08",
"name_doc_type": "Расчет",
"id": 564564867361368,
"image": "https://www.komus.ru/medias/sys_master/root/hd3/h93/9286922043422.jpg",
"name": "Молочный Изюм 100",
"price": 102.0,
"quantity": 72,
"removed": 0
},
{
"date": "2017-10-16 18:11:09",
"name_doc_type": "Приход",
"id": 564564867361369,
"image": "http://irecommend.ru/sites/default/files/imagecache/copyright1/user-images/299388/Ydfgl76IXe0nEM2gO6Ww.JPG",
"name": "Молочный Традиция 100",
"price": 115.0,
"quantity": 60,
"removed": 0
},
{
"date": "2017-10-16 18:11:09",
"name_doc_type": "Приход",
"id": 564564867361369,
"image": "https://www.utkonos.ru/images/photo/3054/3054289H.jpg",
"name": "Аленка карамель 100г Акционный товар Большая скидка",
"price": 73.9,
"quantity": 99,
"removed": 0
},
{
"date": "2017-11-29 19:31:03",
"name_doc_type": "Приход",
"id": 564564867361363,
"image": "https://tashkentcena.com/files/products/893eebe7b69146290886dc504a3328ef.jpeg",
"name": "Горький коньяк 100",
"price": 336.0,
"quantity": 94,
"removed": 0
},
{
"date": "2017-11-29 19:31:03",
"name_doc_type": "Приход",
"id": 564564867361363,
"image": "https://www.utkonos.ru/images/photo/3176/3176192H.jpg",
"name": "Сыр 125г",
"price": 131.0,
"quantity": 64,
"removed": 0
},
{
"date": "2017-11-29 19:31:03",
"name_doc_type": "Приход",
"id": 564564867361363,
"image": "https://www.utkonos.ru/images/photo/3265/3265004H.jpg",
"name": "Молочный Яблоко 100",
"price": 25.1,
"quantity": 52,
"removed": 0
},
{
"date": "2017-11-29 19:31:03",
"name_doc_type": "Приход",
"id": 564564867361363,
"image": null,
"name": "Парус апельсин 1л",
"price": 150.0,
"quantity": 43,
"removed": 1
}
];
let data = json.reduce((obj, el)=>{
let date = el.date.split(" ")[0];
if(obj[date]) obj[date].push(el);
else {
let docs = [el], ob = {date, docs},
id = obj.data.push(ob);
ob.id = id;
obj[date] = docs;
}
return obj
}, {data : []}).data;
console.log(data)
|
|
|
|