我有一个这样的数组:排序数字数组,这样空值放在最后
var arr = [5, 25, null, 1, null, 30]
使用此代码从低到高排序的数组,这是何等的显示输出:
空空1 5 25 30
arr.sort(function (a, b) {
return a - b;
};
然而,我想空值是DIS最后出场,就像这样:
1 5 25 30空空
我在Sort an array so that null values always come last看了一下,并试图将此代码,但输出仍是一样的第一 - 空值来第一个:
arr.sort(function (a, b) {
return (a===null)-(b===null) || +(a>b)||-(a<b);
};
整洁的解决方案,但它是一个有点 “狡猾”。如果我正在扫描代码,肯定需要再看一下。 –