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

 

 

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

//初级版本的比较数值大小
function compareBig( num1, num2) {
if (num1 < num2) {
return - 1;
} else if (num1 == num2) {
return 0;
} else {
return 1;
}
}

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

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

function compareLen( str1, str2) {
if (str1.length < str2.length) {
return - 1;
} else if (str1.length < str2.length) {
return 0;
} else {
return 1;
}
 
 
//比较数组元素为对象时,我们怎么处理呢?
 
}
alert(arr + "排序后的数组是: " + arr. sort(compareBig));
alert(strArr + "排序后的数组是: " + strArr. sort(compareLen));
 
 
//函数嵌套,上面两种函数,自己好好体会
function
creatCompareFunction(propertyName) { return function(object1, object2) { var value1 = object1[propertyName]; var value2 = object2[propertyName]; if (value1 < value2) { return -1; } else if (value1 > value2) { return 1; } else { return 0; } } } var data = [{ name: 'dd', age: 2 }, { name: 'bb', age: 31 }, { name: 'cc', age: 1 } ]; data.sort(creatCompareFunction('name')); alert(data[0].name);

 

转载于:https://www.cnblogs.com/fuck1/p/7259662.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值