149. 实现 ObjectAssign

困难0

你有一个目标对象和一个或多个源对象数组。你需要将属性从源复制到目标,如果源中有相同的属性,则始终保留源的属性,并删除目标对象的属性。(灵感来自 JavaScript 中的 Object.assign API)。

例如:

type Target = {
  a: 'a'
}

type Origin1 = {
  b: 'b'
}

type Result = Assign<Target, [Origin1]>
// expected to be
// {
//  a: 'a'
//  b: 'b'
// }

更多示例:

type Target = {
  a: 'a'
  d: { 
    hi: 'hi'
  }
}

type Origin1 = {
  a: 'a1',
  b: 'b'
}

type Origin2 = {
  b: 'b2',
  c: 'c'
}

type Result = Assign<Target, [Origin1, Origin2]>
// expected to be
// {
//   a: 'a1',
//   b: 'b2',
//   c: 'c'
//   d: { 
//     hi: 'hi'
//   }
// }
评论(0)
题库

TypeScript

加载中...