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[]相同