type User = {name: string; age: number; email: string;};
type PartialUser = {
[P in keyof User]?: User[P];
};
function convertToPartialUser(user: User): PartialUser {
const partialUser: PartialUser = {};
for (const key in user) {
if (user.hasOwnProperty(key) && user[key] !== null && user[key]!== undefined) {
partialUser[key as keyof User] = user[key];
}
}
return partialUser;
}
// 示例使用
const user: User = {name: 'John', age: 30, email: 'john@example.com'};
const partialUser = convertToPartialUser(user);
console.log(partialUser);