我有一个声明的对象,然后尝试获取该对象的密钥,但是由于某种原因,我仅看到两个密钥,并且不确定要获得期望的密钥我缺少什么。 / p>
studentModel: StudentInfo = new StudentInfo();
StudentInfo
的模型定义如下:
export default class StudentInfo extends HomeModel {
name: string;
address: string;
isActive: boolean = true;
}
当前,当我尝试获取对象键时,我得到的只是:
0: "customValidatorError"
1: "Component"
我尝试了Object.keys(studentModel);
和Object.getOwnPropertyNames(studentModel);
我想获取包含以下项的键列表:名称,地址和isActive。
我也确实基于先前的堆栈溢出答案尝试了这段代码,它确实为我提供了所有我正在寻找的键,而且为我提供了很多我不需要的键:
getAllPropertyNames (o //studentModel) {
let propertyNames = []
for (let proto = o; proto !== null; proto = Object.getPrototypeOf(proto)) {
propertyNames = propertyNames.concat(Object.getOwnPropertyNames(proto))
}
return propertyNames;
}