var obj1 = {name: “John”, hobby: “Football”}
var obj2 = {hobby: “Basketball”}
这是我的两个对象。我想合并它们,我的结果是
var obj1 = {name: “John”, hobby :[“Foootbal”,”Basketball”]}
我该怎么做?
答案 0 :(得分:4)
var obj1 = {name: "John", hobby: "Football"}
var obj2 = {hobby: "Basketball"}
var obj3 = {hobby: "Tennis"}
const merge = (obj1, obj2) => {
Object.keys(obj1).forEach(key => { if (obj2[key]) obj1[key] = [...[obj1[key]], obj2[key]].flat() })
}
merge(obj1, obj2)
merge(obj1, obj3)
console.log(obj1)
答案 1 :(得分:0)
const obj1 = {name: "John", hobby: "Football"}
const obj2 = {hobby: "Basketball"}
const obj3 = {}
for (const key in obj1){
if (obj2[key] === undefined){
obj3[key] = obj1[key]
}else{
obj3[key] = [ obj1[key], obj2[key] ]
}
}
console.log(obj3)
略有不同的解决方案。不改变原始对象。