【发布时间】:2017-02-11 17:26:40
【问题描述】:
我有两个不同结构的对象,试图将这两个对象与基于键值的匹配数据合并,并用来自object1和object2的完整数据创建一个新对象。
我的对象1
{
"schedule":{
"onward":{
"journey":[
{
"trips":[
{
"origin":{
"airportCode":"AMS"
},
"destination":{
"airportCode":"BCN"
},
"FlightNumber":"KL1665"
}
]
},
{
"trips":[
{
"origin":{
"airportCode":"AMS"
},
"destination":{
"airportCode":"BCN"
},
"FlightNumber":"MF9343"
}
]
}
]
}
}
}
对象 2
{
"flights":[
{
"flightNumber":"KL1665",
"price":223,
"available":10
},
{
"flightNumber":"KL112",
"price":223,
"available":10
},
{
"flightNumber":" KL112",
"price":223,
"available":10
}
]
}
我想将“price”和“available”合并到与“flightNumber”匹配的对象,并创建一个包含所有数据的新对象。
我曾尝试使用 loadash 和下划线,但无法理解。帮助会很棒,在此先感谢。
【问题讨论】:
-
最终预期对象
{"schedules": {"onwardSchedules": {"trips": [{"flights": [{"origin": {"airportCode": "AMS"}, "destination": {"airportCode": "BCN"}, "marketingFlightNumber": "KL1665","price":223, "available": 10 }] }, {"flights": [{ "origin": { "airportCode": "AMS"}, "destination": {"airportCode": "BCN" } , "marketingFlightNumber": "MF9343" }] }] } } } -
您只需要手动执行此操作。将您想要的航班数据放入计划中。对于这种特定的事情没有“捷径”。
-
@bryan60 我从 Ajax 动态获取此数据,因此无法手动更新。
-
我的意思是你需要编写代码来手动将这些与循环结合起来。没有类似 lodash 或 underscore 之类的插件解决方案。
标签: javascript jquery arrays json javascript-objects