使用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 ]