在 Javascript 中使用 sort() 将 NaN 推到数组末尾
我们有一个包含字符串和数字混合数据类型的数组,我们必须编写一个排序函数,使数组排序,以便 NaN 值始终位于底部。
该数组应包含前面的所有有效数字,后跟字符串文本,后跟 NaN。
代码如下 -
const arr = [344, 'gfd', NaN, '', 15, 'f',176, NaN, 736, NaN, 872, 859, 'string', 13, 'new', NaN, 75]; const sorter = (a, b) => { if(a !== a){ return 1; }else if(b !== b){ return -1; } return typeof a === 'number' ? -1 : 1; }; arr.sort(sorter); console.log(arr);
输出
在控制台中的输出 -
[ 75, 13, 859, 872, 736, 176, 15, 344, 'gfd', '', 'f', 'string', 'new', NaN, NaN, NaN, NaN ]
广告