146. 获取对象键的集合

困难0

实现一个高级工具类型 ObjectKeyPaths<T> 用来获取所有可能的路径,这些路径可以通过 _.get (一个 lodash 函数)来访问对象的值。

例如:

type T1 = ObjectKeyPaths<{ name: string; age: number }>
// expected to be 'name' | 'age'
type T2 = ObjectKeyPaths<{
  refCount: number;
  person: { name: string; age: number };
}>
// expected to be 'refCount' | 'person' | 'person.name' | 'person.age'
type T3 = ObjectKeyPaths<{ books: [{ name: string; price: number }] }>
// expected to be 'books' | 'books.0' | 'books[0]' | 'books.[0]' | 'books.0.name' | 'books.0.price' | 'books.length' | 'books.find'
评论(0)
题库

TypeScript

加载中...