【发布时间】:2017-08-19 02:14:20
【问题描述】:
假设我有这个类和接口
class User {
name: string;
age: number;
isAdmin: boolean;
}
interface IUser {
name: string;
age: number;
}
然后我从某个地方得到这个 json 对象
const data = {
name: "John",
age: 25,
isAdmin: true
}
我想使用IUser 子集data 并像这样删除isAdmin 属性
let user = subset<IUser>(data);
// user is now { name: "John", age: 25 }
// can safely insert user in the db
我的问题是如何在 TypeScript 中实现该功能?
function subset<T>(obj: object) {
// keep all properties of obj that are in T
// keep, all optional properties in T
// remove any properties out of T
}
【问题讨论】:
标签: oop typescript interface typescript2.0 mass-assignment