typescript - 在 Typescript 中是否可以定义“字符串类型数组的对象”? (类型检查的正确位置?)

标签 typescript

我知道在 typescript 中,一个对象可以通过 ClassName(ES6 类)或“任何”来输入。

我也知道您可以定义一个字符串数组 (string[]) 甚至一个字符串数组数组 (string[][])。

我需要表达一个对象的类型,它的属性只是字符串类型的数组。

例如

export var MY_VAR: any = {
    <string[]> p1: [...]
}

我尝试在 object_name: 之后使用类似 any 的东西,但运气不好。

我还尝试了在 object_name 之后和每个对象数组之前的 any

无论哪种情况,我都有语法错误(参见上面的示例)

编辑显然

export var MY_VAR: any = {
    <string[]> p1: [...]
}

反而有效。但是我不明白有什么区别

最佳答案

您的要求不是很清楚,但如果我当时设法让您满意:

interface MyType {
    [key: string]: string[];
}

或内联:

let myArrays: { [key: string]: string[] } = {};

关于typescript - 在 Typescript 中是否可以定义“字符串类型数组的对象”? (类型检查的正确位置?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36860251/

相关文章:

typescript - 有没有办法改变像 { x? 这样的可选属性? : number } to required (undefinable) `{ x: undefined | number }` via map types in typescript?

typescript - 带有 typescript es6 导入语法的 linq javascript 库

json - 如何循环遍历单个 JSON 文件以使每个对象出现在 Ionic tinder 卡片上?

typescript - 将 ace 上的 Typescript Playground 升级到 1.0 RTM

javascript - react 全局声明变量获取流类型错误

javascript - typescript 文件中的导入模块给出错误 "cannot compile modules unless the ' --module' flag is provided"

javascript - Angular CLI(ng --version)命令错误 TS 和 WebPack

typescript - 无法在 typescript 版本 3.1.6 中使用 BigInt。错误 TS2304 : Cannot find name 'BigInt'

javascript - 分配时不强制执行 Typescript 字段类型

javascript - 如何在Angular/Angular 9中初始化之前动态创建路由