您的位置:首页 > Web前端 > JavaScript

javaScript中自定义sort中的比较函数,用于比较字符串长度,数值大小

2017-07-30 17:06 946 查看


vararr=['aa',23,1.2,'bb','cc'];
varlen=arr.length;
//for(vari=0;i<len;i++){
//alert(arr+"数组的长度是:"+arr.length+"这一次队首的元素是:"+arr.shift());
//}
//alert("重排数组后:"+arr.reverse());
//alert("数组排序后:"+arr.sort());
vararr=[1,4,6,9,10,21];

//初级版本的比较数值大小
functioncompareBig(num1,num2){
if(num1<num2){
return-1;
}elseif(num1==num2){
return0;
}else{
return1;
}
}

//当被比较的两个数,可以被转换为数值时,可以简化gai方法
functioncompareBigger(num1,num2){
returnnum1-num2;
}

varstrArr=['a','aaaaa','aa','124','0sjssd'];

functioncompareLen(str1,str2){
if(str1.length<str2.length){
return-1;
}elseif(str1.length<str2.length){
return0;
}else{
return1;
}

//比较数组元素为对象时,我们怎么处理呢?

}
alert(arr+"排序后的数组是:"+arr.sort(compareBig));
alert(strArr+"排序后的数组是:"+strArr.sort(compareLen));

//函数嵌套,上面两种函数,自己好好体会
functioncreatCompareFunction(propertyName){
returnfunction(object1,object2){
varvalue1=object1[propertyName];
varvalue2=object2[propertyName];
if(value1<value2){
return-1;
}elseif(value1>value2){
return1;
}else{
return0;
}
}
}

vardata=[{name:'dd',age:2},{name:'bb',age:31},
{name:'cc',age:1}
];

data.sort(creatCompareFunction('name'));

alert(data[0].name);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐