【发布时间】:2021-06-30 19:12:03
【问题描述】:
我正在开发一个包装数组并创建可管道过滤函数的类。
但是,Typescript 推理不适用于谓词函数。我认为它与通用范围有关,有没有办法解决这个限制?
class SomeClass<T> {
constructor(public arr: Array<T>) {}
}
function filter <R> (fn: (r: R) => boolean) {
return function (obj: SomeClass<R>) : SomeClass<R> {
return new SomeClass(obj.arr.filter(fn));
}
}
/* How to replace i: unknown with i: number? */
let r = filter (i => i > 2) (new SomeClass([1, 2, 3]))
console.log(r);
【问题讨论】:
标签: typescript generics filter functional-programming pipe