使用sort时处理strictNullChecks

时间:2019-02-06 17:25:16

标签: javascript typescript sorting

我编写了一个自定义函数,该函数按位置对当地足球联赛中球队的地图进行排序。看起来像这样:

private sortTeamsByPlacement(teams) {
    return new Map(Array.from(teams).sort((a, b) => {
        if (a.placement === null) {
            return 1;
        } else if (b.placement === null) {
            return -1;
        } else if (a.placement === b.placement) {
            return 0;
        } else {
            return (a.placement < b.placement ? -1 : 1);
        }
    }));
}

由于我使用的是strictNullChecks,因此此函数会产生Object is possibly 'undefined'.

解决这个问题的最佳方法是什么?

以下代码段解决了该错误,但是该解决方案并不适合我。

    return new Map(Array.from(teams).sort((a, b) => {
        if (a.placement === undefined || b.placement === undefined) {
            return 0;
        } else if (a.placement === null) {
            return 1;
        } else if (b.placement === null) {
            return -1;
        } else if (a.placement === b.placement) {
            return 0;
        } else {
            return (a.placement < b.placement ? -1 : 1);
        }
    }));

0 个答案:

没有答案