按键组合 json 数组,javascript

2024-01-15

我需要组合由两个 REST 服务提供的两个 json 数组。具有相同“id”的条目属于在一起。

json1 = [{id:1,name:'aaa'},
     {id:5,name:'ccc'},
     {id:3,name:'bbb'}
   ];

 json2 = [{id:3,parameter1:'x', parameter2:'y', parameter3:'z'},
     {id:1,parameter1:'u', parameter2:'v', parameter3:'w'},
     {id:5,parameter1:'q', parameter2:'w', parameter3:'e'}
    ];

我需要按以下方式在 javascript 中组合/复制/克隆 json 数组(我的模型在 angular2 中):

json3 = [{id:3,name:'bbb',parameter1:'x', parameter2:'y',   parameter3:'z'},
     {id:1,name:'aaa', parameter1:'u', parameter2:'v', parameter3:'w'},
     {id:5,name:'ccc', parameter1:'q', parameter2:'w', parameter3:'e'}
    ];

有没有办法将它们结合起来?参数名称未准确定义,需要与可变参数向量一起使用。

我尝试了混合每个循环。在我看来非常丑陋。


两行单行:

与洛达什:

res = _(json1).concat(json2).groupBy('id').map(_.spread(_.assign)).value();

在 ES2015 中:

res = json2.map(x => Object.assign(x, json1.find(y => y.id == x.id)));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

按键组合 json 数组,javascript 的相关文章

随机推荐