Skip to content

Latest commit

 

History

History
47 lines (40 loc) · 2.12 KB

File metadata and controls

47 lines (40 loc) · 2.12 KB

DeepMutable 中等 #readonly #deep

by cutefcc @cutefcc

接受挑战    English

实现一个通用的 DeepMutable ,它使对象的每个属性,及其递归的子属性 - 可变。

例如:

type X = {
  readonly a: () => 1
  readonly b: string
  readonly c: {
    readonly d: boolean
    readonly e: {
      readonly g: {
        readonly h: {
          readonly i: true
          readonly j: "s"
        }
        readonly k: "hello"
      }
    }
  }
}

type Expected = {
  a: () => 1
  b: string
  c: {
    d: boolean
    e: {
      g: {
        h: {
          i: true
          j: "s"
        }
        k: "hello"
      }
    }
  }
}

type Todo = DeepMutable<X> // should be same as `Expected`

你可以假设我们在这个挑战中只处理对象。 数组、函数、类等不需要考虑。 但是,您仍然可以通过涵盖尽可能多的不同案例来挑战自己。


返回首页 分享你的解答 查看解答