【发布时间】:2019-12-19 05:13:30
【问题描述】:
我正在尝试在 JSON array 上使用 group by 函数,使用内部 JSON 值作为键,如下所示。但无法读取内部JSON 值。这是我的JSON array。
NotificationData = [
{
"eventId":"90989",
"eventTime":"2019-12-11T11:20:53+04:00",
"eventType":"yyyy",
"event":{
"ServiceOrder":{
"externalId":"2434",
"priority":"1"
}
}
},
{
"eventId":"6576",
"eventTime":"2019-12-11T11:20:53+04:00",
"eventType":"yyyy",
"event":{
"ServiceOrder":{
"externalId":"78657",
"priority":"1"
}
}
}
]
分组逻辑:
const groupBy = (array, key) => {
return array.reduce((result, currentValue) => {
(result[currentValue[key]] = result[currentValue[key]] || []).push(
currentValue
);
return result;
}, {});
};
const serviceOrdersGroupedByExternalId = groupBy(this.NotificationData, 'event.ServiceOrder.externalId');
//this line of code is not working as
// it is unable to locate the external id value.
期望的输出
{ "2434":[{
"eventId":"90989",
"eventTime":"2019-12-11T11:20:53+04:00",
"eventType":"yyyy",
"event":{
"ServiceOrder":{ "priority":"1" }
}
}],
"78657":[{
"eventId":"6576",
"eventTime":"2019-12-11T11:20:53+04:00",
"eventType":"yyyy",
"event":{
"ServiceOrder":{ "priority":"1" }
}
}]
}
【问题讨论】:
-
你能说出想要的输出吗?
-
{ "2434":[ { "eventId":"90989", "eventTime":"2019-12-11T11:20:53+04:00", "eventType":"yyyy" , "event":{ "ServiceOrder":{ "priority":"1" } } }], "78657":[ { "eventId":"6576", "eventTime":"2019-12-11T11:20: 53+04:00", "eventType":"yyyy", "event":{ "ServiceOrder":{ "priority":"1" } } }] }
标签: json angular group-by angular8 jsonparser