let arr = [18, 14, 3, 6, null, 21];
arr.sort((a, b) => {
if (a === null) {
return -999;
} else if (b === null) {
return 999;
} else {
return a - b;
}.
在比较函数中,首先判断a是否为null,如果是,则返回一个较小的负数-999,表示将a放在b的前面;然后判断b是否为null,如果是,则返回一个较大的正数999,表示将b放在a的前面;最后,如果a和b都不为null,则返回a-b的结果,表示按升序排列。