【问题标题】: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

【问题讨论】:

    标签: typescript generics typescript-typings typescript-generics


    【解决方案1】:

    我找到了解决办法

    function sum<T extends string>(arr: { [K in T]: number }[], key: T) {
      return arr.reduce((curr, next) => curr + next[key], 0);
    }
    

    【讨论】:

    猜你喜欢
    • 2021-11-08
    • 1970-01-01
    • 2019-08-23
    • 2020-03-27
    • 1970-01-01
    • 2019-06-28
    • 1970-01-01
    • 2017-01-18
    • 2020-05-21
    相关资源
    最近更新 更多