当前位置: 首页 > 知识库问答 >
问题:

求教这种typescript对象类型如何转数组?

左丘成业
2023-08-17

已知一个有很多属性的对象:

const a = {    test1: 1,    test2: 2    ...}

如何定义一个键值对应的数组?

[  {      key: 'test1',      value: 1  },  {      key: 'test2',      value: 2  }]

尝试之后key: 'test1'总是能对上value: 2 ...
求助大佬!

共有2个答案

丁灿
2023-08-17
type A = {    test1: 1;    test2: 2;};const a: A = {    test1: 1,    test2: 2,};type C<T> = {    key: keyof T;    value: T[keyof T];};let arr: C<A>[] = [    {        key: "test1",        value: 1,    },    {        key: "test2",        value: 2,    },];
胥英奕
2023-08-17
type KeyValuePair = {  key: string;  value: number;};const a = {  test1: 1,  test2: 2,  // ...};const result: KeyValuePair[] = Object.entries(a).map(([key, value]) => ({  key,  value: value as number,}));console.log(result);
 类似资料:
  • 问题内容: 我从远程REST服务器读取了JSON对象。此JSON对象具有Typescript类的所有属性(通过设计)。如何将收到的JSON对象转换为var类型? 我不想填充一个打字稿变量(即有一个采用此JSON对象的构造函数)。它很大,因此要按子对象和按属性逐个复制所有内容,这将花费大量时间。 问题答案: 您不能简单地将Ajax请求中的原始JavaScript结果转换为原型JavaScript /

  • 我从远程REST服务器读取了一个JSON对象。这个JSON对象具有typescript类的所有属性(按设计)。如何将收到JSON对象转换为类型变量?

  • 问题内容: 我有一个API请求,返回以下内容: 我想在单击按钮后使用以下代码显示获取的电影标题: 我的问题是,我收到一条错误消息,提示我只能遍历数组,并且我的数据是对象。如何在打字稿中将Object转换为Array,并在表格中显示电影的标题? 问题答案: 没错,您的回复是一个带有字段的对象: 因此,您实际上只想迭代该字段: …甚至更简单:

  • 我想定义一个带有对象和不同类型的接口,例如 在定义上,没有问题,但在调用like后 这不起作用,并出现以下错误 错误错误:未捕获(promise中):TypeError:无法设置未定义的属性“名称”TypeError:无法设置未定义的属性“名称” 有一些相似的主题,但它们并不完全相关。(如何在类型脚本接口中定义对象或者如何在类型脚本中定义对象变量的类型?) 我很感激你帮助我找到解决办法。

  • 本文向大家介绍把对象转换到数字类型是如何转换的?相关面试题,主要包含被问及把对象转换到数字类型是如何转换的?时的应答技巧和注意事项,需要的朋友参考一下 1、如果对象有valueOf方法,则调用该方法,并返回相应的结果; 2、当调用valueOf返回的依然不是数字,则会调用对象的toString方法,并返回相应的结果; 3、否则抛出异常。