js比较函数


//1.
//bySort函数接受一个首要比较字符串和一个可选的次要比较函数做为参数
//并返回一个可以用来包含该成员的对象数组进行排序的比较函数
//当o[firstName] 和 p[firstName] 相等时,次要比较函数被用来比较
var bySort = function(compareName,minor){
return function(o,p){
var a,b;
if(o && p && typeof o === 'object' && typeof p ==='object'){
//如果是empty,用""表示
if(o.hasOwnProperty(compareName)){
a = o[compareName];
}
else{
a = "";
}
if(p.hasOwnProperty(compareName)){
b = p[compareName];
}
else{
b = "";
}
if(a === b){
return typeof minor === 'function' ? minor(o,p):0;
}
if(typeof a === typeof b){
return a < b ? -1:1;
}
return typeof a < typeof b ? -1 : 1;
}
}
}
function sortExtensionsByName(extensions){
extensions.sort(bySort('firstName',bySort('lastName'),bySort('ext')));
}


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM