3
假設我有這樣的類和接口如何使用接口獲取對象的子集?
class User {
name: string;
age: number;
isAdmin: boolean;
}
interface IUser {
name: string;
age: number;
}
然後我從什麼地方
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
得到這個JSON對象
我的問題是如何在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
}