对 javascript 中的数字和空值数组进行排序

sort array of numbers and nulls in javascript

我需要一些帮助来为数据表编写排序函数。我有一列包含货币 - 具有正值和负值以及空白的数字。
我想让空值显示为最后一个(/第一个),但它们总是出现在负值之前。有人可以提示我解决方案吗?

提示是在排序时将空值更改为 Number.NEGATIVE_INFINITY 或 Number.POSITIVE_INFINITY

给定一个包含 null 的数字数组,如果你想对它们进行排序并在结果末尾保留 null,你可以这样自定义你的排序函数:

var num = [-22,55,30,0,0,null,350,null,10000,-20];

num.sort(function(a,b){
    if (b == null) return -1;
    else if (a==null) return 1;
    else return a > b
});

// [-22, -20, 0, 0, 30, 55, 350, 10000, null, null]

上面的示例将 null 视为最大数字,因此在对数组进行排序时,null 排在最后(请参阅排序函数)。如果你想要倒序,你可以修改那个定制的排序函数。