Я пытаюсь выяснить, как сгруппировать мою статью JSON, используя lodash с функциями отображения и группировки. Я довольно новичок в lodash и javascript в целом, но я подошел близко, но не могу понять последний бит форматирования!
Что я пробовал
const data = [{
"pcc": "1ADA",
"markets": {
"origin": "ORG",
"destination": "DES"
}
}, {
"pcc": "1ADA",
"markets": {
"origin": "ORD",
"destination": "DES"
}
},{
"pcc": "1ADA",
"markets": {
"origin": "ORG",
"destination": "DES"
}
}, {
"pcc": "1AZA",
"markets": {
"origin": "ORG",
"destination": "DES"
}
}, {
"pcc": "1AXA",
"markets": {
"origin": "ORG",
"destination": "DES"
}
}]
excelDef = _(data)
.groupBy("pcc")
.map((group, pcc) =>({
pcc,
markets: group.map(({origin, markets: destination}) => ({
origin,
destination
}))
}))
.value();
Вывод, который я получаю
[{
"pcc": "1ADA",
"markets": [{
"destination": {
"origin": "ORG",
"destination": "DES"
}
}, {
"destination": {
"origin": "ORD",
"destination": "DES"
}
}, {
"destination": {
"origin": "ORG",
"destination": "DES"
}
}]
}, {
"pcc": "1AZA",
"markets": [{
"destination": {
"origin": "ORG",
"destination": "DES"
}
}]
}, {
"pcc": "1AXA",
"markets": [{
"destination": {
"origin": "ORG",
"destination": "DES"
}
}]
}]
Желаемый выход
[{
"pcc": "1ADA",
"markets": [{
"origin": "ORG",
"destination": "DES"
}, {
"origin": "ORD",
"destination": "DES"
}, {
"origin": "ORG",
"destination": "DES"
}]
}, {
"pcc": "1AZA",
"markets": [{
"origin": "ORG",
"destination": "DES"
}]
}, {
"pcc": "1AXA",
"markets": [{
"origin": "ORG",
"destination": "DES"
}]
}]
Я чувствую, что я близок к желаемому результату, но синтаксис функции отображения и группировки всегда отбрасывает меня как человека, начинающего программировать. Любая помощь будет оценена!