首页 > 解决方案 > 获取已定义对象javascript的不可枚举对象键

问题描述

我有一个我声明的对象,然后我尝试获取该对象的键,但由于某种原因,我只看到两个键出现并且不确定我缺少什么来获取我期望的键。

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;
    }

标签: javascript

解决方案


推荐阅读