Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Typescript通用映射返回值_Javascript_Typescript - Fatal编程技术网

Javascript Typescript通用映射返回值

Javascript Typescript通用映射返回值,javascript,typescript,Javascript,Typescript,我有一个方法返回一个对象,我用它作为字符串数组的映射。 我的问题是,我不知道如何使用泛型定义返回值以实现类型安全。 我曾考虑添加一个新的接口或类来表示映射,但我希望避免这样做,因为对象本身已经是一个映射 下面是一些示例代码,可以帮助您了解这个问题: getMap() : Object { return { 1: [ 'a', 'b', 'c' ] 2: [ 'd', 'e' ], 3: [ ] } } 我希望能够定义方法的返回值,这样就可以清楚地看到它是Stri

我有一个方法返回一个
对象
,我用它作为字符串数组的映射。
我的问题是,我不知道如何使用泛型定义返回值以实现类型安全。
我曾考虑添加一个新的接口或类来表示映射,但我希望避免这样做,因为
对象本身已经是一个映射

下面是一些示例代码,可以帮助您了解这个问题:

getMap() : Object {
  return {
    1: [ 'a', 'b', 'c' ]
    2: [ 'd', 'e' ],
    3: [ ]
  }
}
我希望能够定义方法的返回值,这样就可以清楚地看到它是
String[]
Array
的映射,而不需要实现人工添加的
map
接口


有什么想法吗?

就像@Aleksey评论的那样,
{[key:number]:string[]}
可以完成这项工作


此外,还有一个内置类型别名
Record
实际上表示一个映射<代码>{[key:number]:字符串[]}
等于
记录
。如果您还想支持字符串键,那么类型将是
Record

就像@Aleksey注释的那样,
{[key:number]:string[]}
将完成这项工作


此外,还有一个内置类型别名
Record
实际上表示一个映射<代码>{[key:number]:字符串[]}等于
记录
。如果您还想支持字符串键,那么类型应该是
Record

那么
{[key:number]:string[]}
呢?此外,建议使用
对象
/
字符串
(小写),explainion@AlekseyL,我一直在使用数字、布尔值和字符串,都是小写的(当时不知道为什么),只是对象一直困扰着我(可能来自Java…)。我不知道这种语法,因为我对TypeScript还不熟悉。非常感谢@阿列克塞尔。数组与字符串[]的比较如何?同样的事情?那也是拳击吗?不客气!关于数组与[]-没有区别(因为它不是原语),所以
Array
string[]
相同
{[key:number]:string[]}
怎么样?此外,建议使用
对象
/
字符串
(小写),explainion@AlekseyL,我一直在使用数字、布尔值和字符串,都是小写的(当时不知道为什么),只是对象一直困扰着我(可能来自Java…)。我不知道这种语法,因为我对TypeScript还不熟悉。非常感谢@阿列克塞尔。数组与字符串[]的比较如何?同样的事情?那也是拳击吗?不客气!关于数组与[]-没有区别(因为它不是原语),所以
Array
string[]相同