【发布时间】:2021-02-11 01:33:28
【问题描述】:
我需要在这两种类型中提供相同的数据
type DataMap = {
id001: 'name1',
id002: 'name2',
id003: 'name3',
....
}
type DataTuple = [
{id: 'id001', name: 'name1'},
{id: 'id002', name: 'name2'},
{id: 'id003', name: 'name3'},
...
]
我只想声明这种类型一次并且有一个单一的事实来源, 但我无法弄清楚将类型从对象转换为元组的实用程序类型函数。
理想情况下,我想做这样的事情:
type DataMap = {
id001: 'name1',
id002: 'name2',
id003: 'name3',
....
};
type DataTuple = MapToTuple<DataMap>;
// or
type DataTuple = [
{id: 'id001', name: 'name1'},
{id: 'id002', name: 'name2'},
{id: 'id003', name: 'name3'},
...
];
type DataMap = TupleToMap<DataTuple>;
MapToTuple<T> 或 TupleToMap<T> 是否可以使用这些功能?
【问题讨论】:
标签: typescript typescript4.0 typescript3.8