代码如下,单独写number没有问题,但给string就有问题,怎么写才合适呀
因为你的输入类型指定泛型 T 为 number 或者 string 的派生,所以而你事实上对不同的类型做了不同的操作。可以用 as 关键字强制指定类型,以使得 sort() 函数中的函数返回值类型正确:
as
sort()
obj.sort(function (a, b) {return (a as number) - (b as number)})