Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 基于键将两个JSON对象合并为一个,并保留值_Javascript_Npm_Lodash - Fatal编程技术网

Javascript 基于键将两个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' :

我有以下两个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' : { '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。不管是哪种情况,我如何合并它们?