函数传入的值,作为对象的 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
子站问答
访问
宣传栏