Вот ваш требуемый ответ,
Этот ответ made dynamic
, так что вы можете отправить любое количество ключей в ваших Object
и он по-прежнему возвращает значение состояния всех ключей путем вложенного цикла.
Кусок кода, который делает магию для вас,
let object = {};
for (let key of Object.keys(test)) {
for (let value of test[key]) {
object[key] = object[key] || []
object[key].push(value['event']['ServiceOrder']['state']
)
}
}
Выполнение кода:
let test = {
"2434":[
{
"eventId":"90989",
"eventTime":"2019-12-11T11:20:53+04:00",
"eventType":"yyyy",
"event":{
"ServiceOrder":{
"priority":"1",
"state":"InProgress"}
}
},
{
"eventId":"6576",
"eventTime":"2019-12-11T11:20:53+04:00",
"eventType":"yyyy",
"event":{
"ServiceOrder":{
"priority":"1",
"state":"InProgress"
}
}
},
{
"eventId":"6576",
"eventTime":"2019-12-11T11:20:53+04:00",
"eventType":"yyyy",
"event":{
"ServiceOrder":{
"priority":"1",
"state":"Pending"
}
}
}
],
"78657":[
{
"eventId":"6576",
"eventTime":"2019-12-11T11:20:53+04:00",
"eventType":"yyyy",
"event":{
"ServiceOrder":{
"priority":"1",
"state":"Pending"
}
}
},
{
"eventId":"6576",
"eventTime":"2019-12-11T11:20:53+04:00",
"eventType":"yyyy",
"event":{
"ServiceOrder":{
"priority":"1",
"state":"Completed"
}
}
},
{
"eventId":"6576",
"eventTime":"2019-12-11T11:20:53+04:00",
"eventType":"yyyy",
"event":{
"ServiceOrder":{
"priority":"1",
"state":"Failed"
}
}
}
]
}
let object = {};
for (let key of Object.keys(test)) {
for (let value of test[key]) {
object[key] = object[key] || []
object[key].push(
value['event']['ServiceOrder']['state']
)
}
}
console.log(object);
Пожалуйста, запустите приведенный выше фрагмент
Вот O / P:
{"2434 ": [" InProgress "," InProgress "," Pending "]," 78657 ": [" Pending "," Completed "," Failed "]}
Вот рабочая ДЕМО