在javascript中将一个对象添加到另一个对象
我有两个对象,我需要将一个对象添加到另一个对象在javascript中将一个对象添加到另一个对象,javascript,angularjs,Javascript,Angularjs,我有两个对象,我需要将一个对象添加到另一个对象 var loc={ leftArray:[], topArray:[], 底部数组:[], rightArray:[] } var obj={ id:“行政长官”, 图标:“logo/image.png”, 名称:"行政长官", 类型:“类型2”, 版本:3.4 } var obj={ id:“行政长官”, 图标:“logo/image.png”, 名称:"行政长官", 类型:“类型2”, 版本:3.4, leftArray:[], topArr
var loc={
leftArray:[],
topArray:[],
底部数组:[],
rightArray:[]
}
var obj={
id:“行政长官”,
图标:“logo/image.png”,
名称:"行政长官",
类型:“类型2”,
版本:3.4
}
var obj={
id:“行政长官”,
图标:“logo/image.png”,
名称:"行政长官",
类型:“类型2”,
版本:3.4,
leftArray:[],
topArray:[],
底部数组:[],
rightArray:[]
}
有什么简单的方法可以做到这一点吗?您可以使用如下扩展语法合并它们
let objOne = { a: 'hi' }
let objTwo = { b: 'hello' }
let objOneAndTwo = { ...objOne, ...objTwo }; // { a: 'hi', b: 'hello' }
或使用对象分配:
let objOneAndTwo = Object.assign({}, a, b)
请注意,如果您的对象具有相同名称的属性,则使用这种方式,优先级将与最正确的对象(在本例中为objectTwo)一起使用
其他信息:
您可以使用Object.assign()完成此操作 或者只是
Object.assign(obj, loc);
正如T.J.Crowder在他的评论中所建议的那样。也许您正在寻找
var obj=Object。分配(obj,loc)
是解决此问题的方法。如果您有该库,您也可以使用从lodash合并。。。使用类似obj.leftArray=[];自动生成新的obj.Just FWIW,在这种情况下不需要赋值,只需Object.assign(obj,loc)代码>就足够了。(你当然不会想要var
,因为obj
已经声明了。)@t.J.Crowder是的,你没有重新声明变量是对的。我不知道您不需要分配Object.assign()的结果。谢谢你的信息。我相应地编辑了答案。Object.assign
返回传入的第一个对象。这样您就可以传入一个对象初始值设定项(“literal”),如下所示:constfoo=object.assign({},something,等等)代码>这只是constfoo={}的一行程序版本;分配(foo,某物)代码>感谢您的贡献,欢迎!
Object.assign(obj, loc);