小编典典

TypeScript 对数组进行排序

all

我一直在试图找出我在打字稿中遇到的一个非常奇怪的问题。它将内联布尔表达式视为第一个值的类型,而不是完整的表达式。

因此,如果您尝试以下简单的操作:

var numericArray:Array<number> = [2,3,4,1,5,8,11];

var sorrtedArray:Array<number> = numericArray.sort((n1,n2)=> n1 > n2);

试试看

你会在你的排序方法上得到一个错误,说参数与调用目标的任何签名都不匹配,因为你的结果是数字而不是布尔值。我想我错过了一些东西,因为我很确定 n1>n2
是一个布尔语句。


阅读 60

收藏
2022-06-21

共1个答案

小编典典

错误是完全正确的。

正如它试图告诉你的那样,.sort()它采用一个返回数字而不是布尔值的函数。

如果第一项较小,则需要返回负数;如果它更大,则为正,如果它们相等,则为零。

2022-06-21