sort排序函数让空值始终排在列表末尾
当值为空时,将其始终放到当前值得后一位即可。在sort
函数中,通过传入回调函数始终返回1
即可。
var compare = function (prop, sortBy) {
return function (a, b) {
if (a[prop] === '' || a[prop] === 'NULL') {
return 1;
}
if(b[prop] === '' || b[prop] === 'NULL') {
return -1;
}
var value1 = parseFloat(a[prop]);
var value2 = parseFloat(b[prop]);
return (sortBy > 0) ? value1 - value2 : value2 - value1;
}
}
prop
表示一个属性,sortBy
表示是升序还是降序。
如有一个obj
对象
var obj = {
numbers: [1,2,'',3,4,65,4,42,21, '']
};
要对其属性numbers
排序,调用方式如下:
obj.sort(compare('numbers'));
如果您觉得本文对您有用,欢迎捐赠或留言~
- 本博客所有文章除特别声明外,均可转载和分享,转载请注明出处!
- 本文地址:https://www.leevii.com/?p=977