gpt4 book ai didi

javascript - 使用 Typescript 或 javascript 动态获取类成员名称和值

转载 作者:行者123 更新时间:2023-11-28 03:46:04 24 4
gpt4 key购买 nike

我对这些语言还很陌生,我确信它不是那么复杂,但找不到如何动态遍历类实例变量。

我正在尝试使用 Angular 在表中显示实例的变量。我想编写一个适用于任何类的函数。

假设我有一个工作簿类(class):

export class workbookEntity {
public name: string;
public creationDate: string;

constructor() {
this.name = 'my work book name';
this.creationDate = '2018/01/26';
}
}

假设我想在另一个类的函数中获取该类实例的变量的名称和值:

export class showClassComponent {
// some code here

whenSubmitedInHtmlForm(className: string): void {
// do something to walk through instance
// with className parameter = 'workbookEntity'
}

// more code there
}

您将如何遍历实例来获取每个变量的名称和值以获得类似的结果?

[
{
name: 'name',
value: 'my work book name'
},
{
name: 'creationDate',
value: '2018/01/26'
}
]

最佳答案

Typescript 中没有反射的概念,因此您不必进行类型查找。但你也许可以做一些事情......

export class showClassComponent {
var classes = [ { name: 'workBookEntity', value: new WorkBookEntity() }]

whenSubmitedInHtmlForm(className: string): void {
let c = classes.filter(class => class.name == className)[0];
if(c) {
let ret = [];

for (var key in c) {
if (c.hasOwnProperty(key)) {
ret.push({ name: key, value: c[key] });
}
}

return ret;
}
}

// more code there
}

关于javascript - 使用 Typescript 或 javascript 动态获取类成员名称和值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48468620/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com