使用接口将对象转换为对象

时间:2018-05-01 13:56:07

标签: angular typescript

假设数据库返回了一个对象,例如

foo: {bar: 1, baz: 2, quux: 3}

然后我有这个只允许按键的界面:

bar: number;
quux: number;

我希望对象foo将自身转换为只有接口允许的键/值,并删除其余的键/值。我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:0)

不幸的是,由于接口在运行时消失,因此没有直接的方法。在我看来,最快捷的方式是:

interface Interface {
    foo: number;
    quux: number;
}

const { foo, quux } = foo;
const inewOb: Interface = { foo, quux };

当然,此解决方案仅适用于此接口,因为没有通用解决方案,因为如上所述,接口在运行时消失,因此无法列出其所有属性并从中提取它们一个对象。