Здравствуйте, я работаю в java-скрипте и у меня возникли проблемы с сортировкой значений и получением суммы по категориям. У меня есть hotel_id и category_id.
let myarray = [
{
price: 257,
category: 1,
hotel_id: 4
},
{
price: 493,
category: 1,
hotel_id: 3
},
{
price: 514,
category: 1,
hotel_id: 3
},
{
price: 257,
category: 1,
hotel_id: 3
},
{
price: 104,
category: 1,
hotel_id: 3
},
{
price: 295,
category: 1,
hotel_id: 3
},
{
price: 125,
category: 1,
hotel_id: 2
},
{
price: 125,
category: 1,
hotel_id: 2
},
{
price: 157,
category: 1,
hotel_id: 2
},
{
price: 125,
category: 1,
hotel_id: 2
},
{
price: 125,
category: 1,
hotel_id: 1
},
{
price: 43,
category: 1,
hotel_id: 1
},
{
price: 43,
category: 2,
hotel_id: 1
},
{
price: 43,
category: 2,
hotel_id: 1
}
];
var hotel_to_values = myarray.reduce(function (obj, item) {
obj[item.hotel_id] = obj[item.hotel_id] || [];
obj[item.hotel_id].push(item.category);
return obj;
}, {});
var hotels = Object.keys(hotel_to_values).map(function (key) {
return {hotel_id: key, category: hotel_to_values[key]};
});
Мне нужно отсортировать или сгруппировать что-то вроде этого
сейчас мой результат
[
{
"hotel_id": "1",
"category": [
1,
1,
2,
2
]
},
{
"hotel_id": "2",
"category": [
1,
1,
1,
1
]
},
{
"hotel_id": "3",
"category": [
1,
1,
1,
1,
1
]
},
{
"hotel_id": "4",
"category": [
1
]
}
]
Мне нужны цены внутри категорий
Я обновляю свой код, теперь вы можете проверить, что на самом деле я делаю, да, я использую метод Reduce, но не могу получить фактический результат.