请问 getIncludeAttrs 函数的的 type 该怎么写可以得到期望的类型?
let obj = getIncludeAttrs(['name', 'age'], { name: '小明', age: 10, address: "xxx" })
// 期望返回的 obj 类型声明为: {name:string, age:number }
请问 getIncludeAttrs 函数的的 type 该怎么写可以得到期望的类型?
let obj = getIncludeAttrs(['name', 'age'], { name: '小明', age: 10, address: "xxx" })
// 期望返回的 obj 类型声明为: {name:string, age:number }
interface PersonInfo {
name: string;
age: number;
address: string;
}
function getIncludeAttrs(keys: (keyof PersonInfo)[], personInfo: PersonInfo): {
[p in keyof PersonInfo]?: PersonInfo[p]
} {
return { name: '小明', age: 10}
}