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

JS中给数组对象排序

2017-02-07 19:45 381 查看
[javascript] view
plain copy

//JS中给数组对象排序  

      

    //假设有一个对象数组,我们想要根据某个对象属性对数组进行排序。而传递给数组sort()方法的比较函数要接收2个参数,即要比较的值。  

    //可是,我们需要一种方式指明按照哪个属性来排序。  

    //要解决这个问题,可以定义一个函数,它接收一个属性名,然后根据这个属性名来创建一个比较函数。  

    function createComprisonFunction(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:"Zachary",age:28},{name:"Nicholas",age:29}];  

    data.sort(createComprisonFunction("name"));  

    alert(data[0].name); //Nicholas  

      

    data.sort(createComprisonFunction("age"));  

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