我正在尝试根据 JavaScript 中的基本 json 对象中的键值将 3 个不同的 json 数组对象合并为一个对象。我以前没有尝试过这样的事情。数据看起来像这样。
var baseObj = [
{ "miId": 1, "val": 2, "smiList": [ { "smiId": '1a', "val": 3 }, { "smiId": '1b', "val": 4 } ] },
{ "miId": 2, "val": 22, "smiList": [ { "smiId": '2a', "val": 33 }, { "smiId": '2b', "val": 43 } ] }
]
var obj1 = [
{ "miId": 1, "val": 23, "smiList": [ { "smiId": '1a', "val": 13 }, { "smiId": '1c', "val": 14 } ] },
{ "miId": 4, "val": 24, "smiList": [ { "smiId": '2a', "val": 33 }, { "smiId": '2b', "val": 43 } ] }
]
var obj2 = [
{ "miId": 11, "val": 22, "smiList": [ { "smiId": '1a', "val": 53 }, { "smiId": '1c', "val": 14 } ] },
{ "miId": 2, "val": 43, "smiList": [ { "smiId": '2a', "val": 6 }, { "smiId": '2b', "val": 7 } ] }
]
我的结果必须基于基本 json 及其键值。它基本上就像带有 baseobj 数组的 obj1 和 obj2 的左侧。我需要根据它们的键获取 baseObj 的所有对象以及 obj1 和 obj2 的匹配值。
结果必须是:
var resultObj = [
{ "miId": 1, "val": 2, "obj1Val" :23, "smiList": [ {"smiId": '1a', "val": 3, "obj1Val": 13}, { "smiId": '1b', "val": 4 } ] },
{ "miId": 2, "val": 22, "obj2Val" :43, "smiList": [ { "smiId": '2a', "val": 33, "obj2Val" :6}, { "smiId": '2b', "val": 43, "obj2Val" :7, } ] }
]
任何人都可以帮助我如何实现上述结果。提前致谢。