如何将匹配属性从一个对象复制到另一个对象

时间:2016-04-06 04:42:48

标签: typescript

我有这两个对象:

obj1 = {a: '', b: ''}
obj2 = {a: '1', b: '2', c: '3'}

我想将所有匹配的属性从obj2复制到obj1。在Typescript中这样做的最佳方式是什么?

3 个答案:

答案 0 :(得分:11)

  

在打字稿

中执行此操作的最佳方式是什么?

与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

中进行检查

答案 1 :(得分:4)

如果您不介意obj2中不存在obj1的任何键,则更明确的方法是使用Object.assign(obj1, obj2)

答案 2 :(得分:1)

我认为@basarat是要遍历目标属性,而不是像这样的源属性

enter image description here

实际上,他正在测试密钥匹配没有关系。

  • 出于性能考虑,我们可能希望选择最短的按键列表。