[英]Creating array from class values typescript
我有这样的课
export interface ILanguage {
shortName: string;
fullName: string;
}
export class Languages {
static readonly FRENCH: ILanguage = { shortName: 'fr', fullName: 'FRENCH' };
static readonly DUTCH: ILanguage = { shortName: 'nl', fullName: 'DUTCH' };
}
我需要从这个类创建简单的数组,看起来像这样
const array = [{ shortName: 'fr', fullName: 'FRENCH' }, { shortName: 'nl', fullName: 'DUTCH' }];
我知道我可以开始
Object.keys(Languages).forEach
然后推送到数组,但我不确定语法
差不多了,你可以使用Object.values
class Languages { static FRENCH = { shortName: 'fr', fullName: 'FRENCH' }; static DUTCH = { shortName: 'nl', fullName: 'DUTCH' }; } console.log(Object.values(Languages))
在Languages
类中创建一个toArray
函数:
static toArray() {
return Object.values(this);
}
或者让它成为一个吸气剂:
static get asArray {
return Object.values(this);
}
通过这种方式,您可以通过一种简单且可重用的方式将您的语言作为数组访问,而无需始终执行Object.values(Languages)
。
作为站点说明,您还可以使Languages
类abstract
因为您似乎只有static
成员,但这是可选的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.