我有这两个对象:
obj1 = {a: '', b: ''}
obj2 = {a: '1', b: '2', c: '3'}
我想将obj2
中所有匹配属性复制到obj1
。在TypeScript中最好的方法是什么?
我有这两个对象:
obj1 = {a: '', b: ''}
obj2 = {a: '1', b: '2', c: '3'}
我想将obj2
中所有匹配属性复制到obj1
。在TypeScript中最好的方法是什么?
在TypeScript中最好的做法是什么?
与JavaScript相同,只需使用Object.keys
以下代码将内容从obj2移动到obj1:
let obj1 = {a: '', b: ''}
let obj2 = {a: '1', b: '2', c: '3'}
Object.keys(obj2).forEach(key=>obj1[key]=obj2[key]);
对于任何条件,例如“必须尚未在obj1中”,等等,您可以在forEach
中进行检查。
if (key in obj1)
。 - OfirDobj2
中的任何键不存在于obj1
中,那么更清晰的方法是使用Object.assign(obj1, obj2)
:Object.keys(source).forEach(key => {
if (destination.hasOwnProperty(key))
destination[key as keyof Destination] = source[key as keyof Source] as never;
});