错误TS2345:类型的参数'(a:测试,b:测试)=>布尔值| 1'不能分配给'(a:Test,b:Test)=>类型的参数。数'

时间:2018-01-18 10:01:15

标签: javascript typescript

抱歉长篇大论,我只是不明白回应。

我的代码:

this.rezerwacjeFilteredByseaarchInput.sort(function (a, b) {
      if (a[5]===null) {
       // console.log(a[5]);
        return 1;

      }
        if (firmaSortOrder) {
          return a[5] > b[5];
        }
        else {
          return b[5] > a[5];
        }

    });

js抛出: 错误TS2345: 类型'(a:Rezerwacja,b:Rezerwacja)的参数=>布尔值| 1'不能分配给'(a:Rezerwacja,b:Rezerwacja)=>类型的参数。数'。   输入'boolean | 1'不能分配给'number'类型。     类型'true'不能指定为'number'类型。

2 个答案:

答案 0 :(得分:1)

根据MDN description of sort function,sort compare函数必须返回一个数字。您的第一个条件返回数字,但其他两个返回布尔值。下面的代码应该可行。

--volume

答案 1 :(得分:0)

这是打字稿编译错误。 rezerwacjeFilteredByseaarchInput中的签名不正确。它应该只返回数值(这是消息所说的),但在它的主体中你可以读到它可以返回布尔值。