Typescript中,如何将数组类型改成对象类型?

如何将

type Arr = [url: string, params: number, method: string]  

改成

type Obj = {url: string, params: number, method: string }
阅读 2.1k
4 个回答

在我的理解中是做不到的,因为 Arr 类型中没有 url, params, method 这三个键的名称的信息

Arr 的定义和元组 [string, string, string] 没有区别

type Arr = { url: string; params: number; method: string }[];
type Obj = Arr[number];

你想要的是这种吧

type Arr = [url: string, params: number, method: string];

// 定义新的类型
type Obj = {
  url: Arr[0],
  params: Arr[1],
  method: Arr[2]
};

直接从数组转成对象需要考虑如何确定数组中的哪一项对应哪一个元素,如果数组位置和数据都是固定,那么转换也变得无意义。
如果非要使用对应的key来获取,那就用解构赋值

const [url, params, method] = ['https://XXX', {}, ""]
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
logo
Microsoft
子站问答
访问
宣传栏