带有动态键的打字稿通用函数
Posted
技术标签:
【中文标题】带有动态键的打字稿通用函数【英文标题】:Typescript generic function with dynamic key 【发布时间】:2022-01-10 14:52:46 【问题描述】:我想编写一个函数来计算数组中对象属性的总和。我希望它尽可能严格。
现在,我得到了这个:
function sum<T>(arr: T[], key: keyof T)
return arr.reduce((curr, next) => curr + next[key], 0);
但是有一个问题是next[key]
是未知的。我想以某种方式指定T extends [key]: number
。我想避免使用as
。
【问题讨论】:
【参考方案1】:我找到了解决办法
function sum<T extends string>(arr: [K in T]: number [], key: T)
return arr.reduce((curr, next) => curr + next[key], 0);
【讨论】:
感谢这个答案***.com/a/67677787/8001865以上是关于带有动态键的打字稿通用函数的主要内容,如果未能解决你的问题,请参考以下文章