美文网首页
动态获取object的keys和values,即不知道类的属性名

动态获取object的keys和values,即不知道类的属性名

作者: 价值投机168 | 来源:发表于2019-10-25 15:48 被阅读0次

    不知道类的属性名,怎么获取对象属性的值。

    class Test {
    id: Number
    name: String
    }
    不知道id也不知道name。假设Test是jason数据,解析出来可能是如上的
    ,也可能:
    class Test {
    id2: Number
    name2: String
    }
    的情况,如何获取类型名和值。

    那可以使用:(假设test为Test的一个对象)
    Object.values(test)可以获取所有的value,即不通过keys直接获取到values了。
    也可以通过:Object.keys(test)获取到所有的keys了,即属性名。

    实际例子:

       private setNewVersion(datas: rserver.ResultInfo[]) {
        if (datas) {
            for (const data of datas) {
                data['NewSoftVersion'] = [];
                if (data.SoftVersion.startsWith('[{') && data.SoftVersion.endsWith('}]')) {
                    const vs = JSON.parse(data.SoftVersion);
                    vs.forEach(v => {
                        data['NewSoftVersion'].push({
                            'type': Object.keys(v)[0],
                            'version': v[Object.keys(v)[0]]
                        });
                    });
                } else {
                    data['NewSoftVersion'].push({
                        'type': data.TypeName,
                        'version': data.SoftVersion
                    });
                }
            }
        }
    }
    

    相关文章

      网友评论

          本文标题:动态获取object的keys和values,即不知道类的属性名

          本文链接:https://www.haomeiwen.com/subject/bxosvctx.html