Показать сообщение отдельно
  #1 (permalink)  
Старый 07.10.2023, 08:54
Профессор
Отправить личное сообщение для ureech Посмотреть профиль Найти все сообщения от ureech
 
Регистрация: 11.03.2013
Сообщений: 778

Сортировка и фильтр объектов
Всем привет.
var arr = [{
    item_id: "2",
    add_id: "1",
    time_start: "13:00"
}, {
    item_id: "2",
    add_id: "4",
    time_start: "13:00"
}, {
    item_id: "2",
    add_id: "11",
    time_start: "15:00"
}, {
    item_id: "3",
    add_id: "11",
    time_start: "15:00"
}]


Как мне отсортировать по двум параметрам. По одному, решение нашёл, когда в объекте не было времени.

const result = Array.from(new Set(pushId.map(s => s.item_id))).map(lab => {
    return {
        item_id: lab,
        add_id: pushId.filter(s => s.item_id === lab).map(edition => edition.add_id)
    }
})


console.log(result)
[{
    item_id: "2",
    add_id: ["1", "4", "11"]
}, {
    item_id: "3",
    add_id: "11"
}]


Но теперь появилось время и мне нужно не только по item_id, но и по времени,time_start. Что бы на выходе было

[{
    item_id: "2",
    add_id: ["1", "4"],
    time_start: "13:00"
}, {
    item_id: "2",
    add_id: ["11"],
   time_start: "15:00"
}, {
    item_id: "3",
    add_id: "11",
    time_start: "15:00"
}]


Самому не осилить)

Последний раз редактировалось ureech, 07.10.2023 в 08:57.
Ответить с цитированием