函数传入的值，作为对象的 key 返回，TS 应该如何写？
返回的 `ts` 一定有 `a` 这个 `key`：
```
function test(a:string, b:object){
  return {
      [a]:b[a]
  }
}
```
```
function test<T extends Record<string, any>, K extends keyof T>(a:K, b:T){
  return {
    [a]:b[a]
  } as Pick<T, K>
}

```