本文主要是介绍TS类型体操-简单-03-元组转换为对象,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录
- 问题描述
- 举例
- 实现
问题描述
传入一个
元组类型
,将这个元组类型转换为对象类型
,这个对象类型的键/值都是从元组中遍历出来。
举例
const tuple = ['tesla', 'model 3', 'model X', 'model Y'] as const;// expected { tesla: 'tesla', 'model 3': 'model 3',
// 'model X': 'model X', 'model Y': 'model Y' }
type result = TupleToObject<typeof tuple>;
实现
T[number] 就是取出来这个数组的,每一项
// PropertyKey 是 ts 内置类型:type PropertyKey = string | number | symbol
type TupleToObject<T extends readonly PropertyKey[]> = {[P in T[number]]: P;
};
let b: TupleToObject<[1, "name"]> = {"1": 1,name: "name",
};
这个地方,好像可以吧每一项的类型,处理一下,该是字符串是字符串,该是 数字是 数字,该是 函数是函数,
这篇关于TS类型体操-简单-03-元组转换为对象的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!