javascript - 接受泛型参数并返回泛型值的函数
问题描述
我有一个功能:
const r = (array, function) => { some stuff }
然而array
,function
arguments 可以是任何东西,但是 array必须是 typeof array并且 function必须是 typeof function。
但是,array
可以是任何东西的数组 - any[]
anffunction
可以是任何东西function(...r: any): any
。
如何键入该r
函数以接受泛型array
和function
参数,但在调用它时必须传递类型定义?
例如,我在我的应用程序的某个地方调用它:
r([1,2,3], (r) => r + 2)
谢谢!
解决方案
这是我对您正在寻找的内容的解释
type Fn<T> = (arg: T) => T
type R = <T>(array: T[], fn: Fn<T>) => T
const r: R = (array, fn) => {
//some stuff
}
我更喜欢拆分类型声明及其用法。
推荐阅读
- java - 如何比较整数列表然后按升序对其进行排序?
- apache-camel - 使用骆驼中的XML DSL将Json字符串拆分并在正文中添加添加对象
- android - 这怎么可能?axios 在没有网络的安卓平板上返回 200 条状态和数据
- php - 获取txt文件中两个行号之间的文本行
- python - 如何解决 Pandas 的 Key Error 19 问题?
- javascript - 热重载不适用于干净的反应项目?
- wildfly - 自定义模块无法在 wildfly-maven-plugin 中加载
- javascript - 增加输入框的宽度?删除单击按钮或输入框时出现的黑色轮廓?
- r - 如何在R中将每日数据转换为每周数据
- php - php数据库实例共享使用继承,找一个简短的例子