当值为空时,将其始终放到当前值得后一位即可。在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'));
如果觉得我的文章对您有用,请您随意打赏。您的支持将鼓励我更加努力创作!
如无特殊声明,文章均为原创,若有不正之处,万望告知。转载请附上原文地址,十分感谢!