【发布时间】:2016-07-18 17:23:00
【问题描述】:
我有一段代码:
function reverse<T extends Number, D extends Number>(items: T[], m: D): T[] {
var toreturn = [];
for (var i = items.length - 1; i >= 0; i--) {
(()=>{
toreturn.push(items[i] * m);
})();
}
return toreturn;
}
var sample = [1, 2, 3];
var reversed = reverse(sample, 10);
console.log(reversed);
我的 IDE 说这里有 2 个错误:
错误:(5, 27) TS2362: 算术运算的左侧 必须是“any”、“number”或枚举类型。
错误:(5, 38) TS2363: 算术运算的右手边 必须是“any”、“number”或枚举类型。
它基本上是关于实体不能相乘,因为它们不是数字或其他合理的类型。我在通用定义中添加了扩展。
如何解决?
相关的打字稿游乐场版本是here
【问题讨论】:
标签: generics typescript arrow-functions