函数传入的值,作为对象的 key 返回,TS 应该如何写?

返回的 ts 一定有 a 这个 key

function test(a:string, b:object){
  return {
      [a]:b[a]
  }
}
阅读 2.8k
2 个回答
function test<T extends Record<string, any>, K extends keyof T>(a:K, b:T){
  return {
    [a]:b[a]
  } as Pick<T, K>
}

真没理解到写这个东西的意义在哪,既然b[a]一定存在,那直接用就行了,还写函数干什么?不就是你希望b[a]存在,但是实际上可能不存在才需要处理吗 - -!

推荐问题
logo
Microsoft
子站问答
访问
宣传栏