Javascript 基于键将两个JSON对象合并为一个,并保留值
我有以下两个json对象,表示一些数据,如下所示:Javascript 基于键将两个JSON对象合并为一个,并保留值,javascript,npm,lodash,Javascript,Npm,Lodash,我有以下两个json对象,表示一些数据,如下所示: passObject = { 'Topic One' : 4, 'Topic Two' : 10, 'Topic Three' : 1, 'Topic Four' : 1 } failObject = { 'Topic Two' : 3, 'Topic One' : 1 } 我需要将两个对象合并为一个,以产生结果: resultObject = { 'topics': [ { 'Topic One' :
passObject =
{
'Topic One' : 4, 'Topic Two' : 10, 'Topic Three' : 1, 'Topic Four' : 1
}
failObject =
{
'Topic Two' : 3, 'Topic One' : 1
}
我需要将两个对象合并为一个,以产生结果:
resultObject = {
'topics': [
{ 'Topic One' : { 'pass' : 4, 'fail': 1 } },
{ 'Topic Two' : { 'pass' : 10, 'fail': 3 } },
{ 'Topic Three' : { 'pass' : 1, 'fail': 0 } },
{ 'Topic Four' : { 'pass' : 1, 'fail': 0 } }
]
}
我已经研究了“lodash”功能,但没有找到必要的功能。有人能提出一种最有效的方法吗
passObject=
{
“话题一”:4,“话题二”:10,“话题三”:1,“话题四”:1
};
failObject=
{
“主题二”:3,“主题一”:1
};
InObject={}
for(passObject中的var k){
InObject[k]={'pass':passObject[k]}
}
for(failObject中的变量k){
InObject[k]['fail']=failObject[k]
}
document.write(“”+JSON.stringify(intObject)+“”)
结果对象={
“主题”:[]
}
for(InObject中的变量k){
d={}
d[k]=对象[k]
结果对象['topics'].push(d)
}
document.write(“”+JSON.stringify(resultObject)+“”)
为什么还要将结果表示为列表?这些名字本身就够了吗?i、 e.resultObject={'Topic One:{'pass':4,'fail':1}。{'Topic Two:'{'pass':10,'fail':3}}。。。。等等?是的,这可能会起作用,但这是一个具有所需格式的api。不管是哪种情况,我如何合并它们?