我有下面的表达:

public mySentences:Array<string> = [
    {id: 1, text: 'Sentence 1'},
    {id: 2, text: 'Sentence 2'},
    {id: 3, text: 'Sentence 3'},
    {id: 4, text: 'Sentenc4 '},
];

这不起作用,因为我的数组不是类型string,而是包含一个对象列表.我如何处理数组以包含对象列表?

*没有一个新的组件来声明一个类的句子,这似乎是一种浪费

推荐答案

我猜你用的是打字脚本.

要格外小心,您可以将type定义为需要匹配特定接口的对象数组:

type MyArrayType = Array<{id: number, text: string}>;

const arr: MyArrayType = [
    {id: 1, text: 'Sentence 1'},
    {id: 2, text: 'Sentence 2'},
    {id: 3, text: 'Sentence 3'},
    {id: 4, text: 'Sentenc4 '},
];

或不定义自定义类型的简短语法:

const arr: Array<{id: number, text: string}> = [...];

Typescript相关问答推荐

交叉点对数字和布尔的处理方式不同

替换类型脚本类型中的多个特定字符串

Angular -使用Phone Directive将值粘贴到控件以格式化值时验证器不工作

即使子网是公共的,AWS CDK EventBridge ECS任务也无法分配公共IP地址

有没有一种方法可以在保持类型的可选状态的同时更改类型?

如何访问Content UI的DatePicker/中的sx props of year picker?'<>

如何在另一个参数类型中获取一个参数字段的类型?

如何在TypeScrip中正确键入元素和事件目标?

如何从扩展接口推断泛型?

具有自引用属性的接口

如何在省略一个参数的情况下从函数类型中提取参数类型?

如何获取受类型脚本泛型约束的有效输入参数

如何正确调用创建的类型?

在Thunk中间件中输入额外参数时Redux工具包的打字脚本错误

如何正确键入泛型相对记录值类型?

是否可以将类型参数约束为不具有属性?

为什么TS条件返回要求不明确的强制转换而不是精确的强制转换?

两个接口的TypeScript并集,其中一个是可选的

两个子组件共享控制权

数据库中的表请求返回如下日期:2023-07-20T21:39:00.000Z 我需要将此数据格式化为 dd/MM/yyyy HH:mm