Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/443.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 如何将两个对象合并为一个对象_Javascript_Ecmascript 6 - Fatal编程技术网

Javascript 如何将两个对象合并为一个对象

Javascript 如何将两个对象合并为一个对象,javascript,ecmascript-6,Javascript,Ecmascript 6,如何将两个对象合并为一个对象 范例 let obj1 = {monkey:{size: 120, color: "black"}, cat: {size: 30, color: "gray"}} let obj2 = {monkey:{country: "africa", test: "test"}, cat: {country: "all", testCat: "testCat"}} 输出应为: {monkey:{size: 120, color: "black", country: "a

如何将两个对象合并为一个对象

范例

let obj1 = {monkey:{size: 120, color: "black"}, cat: {size: 30, color: "gray"}}

let obj2 = {monkey:{country: "africa", test: "test"}, cat: {country: "all", testCat: "testCat"}}
输出应为:

{monkey:{size: 120, color: "black", country: "africa", test: "test"}, cat: {size: 30, color: "gray", country: "all", testCat: "testCat"}}
我不知道那里有多少动物

像这样的

let merged = {...obj1, ...obj2}

我们需要知道需要合并多少对象,所以我将它们分组在一个数组中

此解决方案可能看起来很糟糕,但它可以工作:)

让obj1={
猴子:{
尺寸:120,
颜色:“黑色”
},
类别:{
尺码:30,
颜色:“灰色”
}
};
设obj2={
猴子:{
国家:“非洲”,
测试:“测试”
},
类别:{
国家:“全部”,
测试猫:“测试猫”
}
};
让对象=[obj1,obj2];
让输出={};
objects.map(函数(obj){
var keys=Object.keys(obj);
键。映射(功能(键){
如果(!输出[键])
输出[键]=对象[键];
否则{
var keys=Object.keys(obj[key]);
键映射(功能(项){
输出[键][项]=对象[键][项];
});
}
});
});

控制台日志(输出)你们提供一个输出的例子,是否有重复?我已经编辑过…你们基本上是在寻找一个额外的“维度”。检查该软件包是如何实现的,并根据您的需要进行调整。