首页 > 编程语言 > 详细

数组排序自定义comparator()

时间:2019-04-29 20:59:27      阅读:110      评论:0      收藏:0      [点我收藏+]

 

案例1:现在有一个普通数组arr = [3,1,2,4,5,6,8,0,1];
自定义一个排序方法:
function createComparator(){
    return function (object1,object2){
        if(object1 < object2){
            return -1;
        }else if(object1 > object2){
            return 1;
        }else{
            return 0;
        }
    }
}        
使用数组的sort方法传入自定义排序规则function
arr.sort(createComparator());
结果[0, 1, 1, 2, 3, 4, 5, 6, 8]

案例2:现在有一个json数组arr = [{name:‘张三‘,age:23},{name:‘李四‘,age:24},{name:‘王五‘,age:25}];

function createComparator(property){
    return function (object1,object2){
        var value1 = object1[property];
        var value2 = object2[property];
        if(value1 < value2 ){
            return 1;
        }else if(value1> value2 ){
            return -1;
        }else{
            return 0;
        }
    }
}   
使用数组的sort方法传入自定义排序规则function
arr.sort(createComparator("name"));
结果:[{name: "王五", age: 25},{name: "李四", age: 24},{name: "张三", age: 23}]

数组排序自定义comparator()

原文:https://www.cnblogs.com/pecool/p/10792778.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!