繁体   English   中英

从类值打字稿创建数组

[英]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)

作为站点说明,您还可以使Languagesabstract因为您似乎只有static成员,但这是可选的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM