Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/372.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 - Fatal编程技术网

Javascript 合并具有相同键的两个对象并将值转换为数组

Javascript 合并具有相同键的两个对象并将值转换为数组,javascript,Javascript,这是我的两个目标。我想合并它们,我的结果将是 var obj1 = {name: “John”, hobby: “Football”} var obj2 = {hobby: “Basketball”} ı如何做到这一点? var obj1={姓名:“约翰”,爱好:“足球”} var obj2={爱好:“篮球”} var obj3={爱好:“网球”} 常量合并=(obj1,obj2)=>{ Object.keys(obj1.forEach(key=>{if(obj2[key])obj1[key

这是我的两个目标。我想合并它们,我的结果将是

var obj1 = {name: “John”, hobby: “Football”}

var obj2 = {hobby: “Basketball”}
ı如何做到这一点?

var obj1={姓名:“约翰”,爱好:“足球”}
var obj2={爱好:“篮球”}
var obj3={爱好:“网球”}
常量合并=(obj1,obj2)=>{
Object.keys(obj1.forEach(key=>{if(obj2[key])obj1[key]=[…[obj1[key]],obj2[key]]].flat())
}
合并(obj1、obj2)
合并(obj1、obj3)
console.log(obj1)
const obj1={姓名:“约翰”,爱好:“足球”}
const obj2={爱好:“篮球”}
常量obj3={}
用于(obj1中的常量键){
if(obj2[键]==未定义){
obj3[键]=obj1[键]
}否则{
obj3[键]=[obj1[键]、obj2[键]]
}
}

console.log(obj3)
这是否回答了您的问题?这看起来不像是合并。如果代码< > Obj和<代码> Obj2是严格的类型,我们可以考虑合并。在这种情况下,你可以把它换成一种新的类型谢谢。。ı怎样才能做到这一点?我想在hobby dynamic?中添加一些值,将操作行放入函数中。但它不能重新处理数据,它假定只有可比较的字符串作为值。因此,如果重新运行合并,将在数组中获得一个数组。更新代码以动态合并对象
   var obj1 = {name: “John”, hobby :[“Foootbal”,”Basketball”]}