ts 映射类型将对象的键改成驼峰
时间: 2024-03-05 09:50:55 浏览: 146
camelcase-keys:将对象键转换为驼峰式大小写
可以使用 TypeScript 中的映射类型和内置的 `CamelCase` 转换类型来实现将对象的键改成驼峰形式。
例如,假设有一个对象类型 `MyObject`:
```
type MyObject = {
snake_case_key: string;
another_snake_case_key: number;
};
```
可以使用以下映射类型将其转换为驼峰形式:
```
type CamelCaseObj<T> = {
[K in keyof T as CamelCase<K>]: T[K]
};
type CamelCase<S extends string> =
S extends `${infer Head}_${infer Tail}`
? `${Lowercase<Head>}${Capitalize<CamelCase<Tail>>}`
: `${Lowercase<S>}`;
type MyCamelCaseObject = CamelCaseObj<MyObject>;
```
这里的 `CamelCaseObj` 类型接受一个泛型类型 `T`,并将其所有键转换为驼峰形式。`CamelCase` 类型用于将单个字符串从蛇形命名转换为驼峰形式。最终,`MyCamelCaseObject` 将是一个新的类型,其中所有键都是驼峰形式的。
阅读全文