标签:javascript 排序
假设有一个对象数组,我们想要根据某个对象属性对数组进行排序,而传递给数组sort()方法的比较函数要接收两个参数,即要比较的值。可是,我们需要一种方式来指明按照哪个属性来排序。要解决这个问题,可以定义一个函数,它接收一个属性名,然后根据这个属性名来创建一个比较函数,下面就是这个函数的定义。function createComparionFun(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:"zom",age:18},{name:"nbd",age:20}]; data.sort(creatComparionFun("name")); alert(data[0].name);//nbd data.sort(creatComparionFun("age")); alert(data[0].name);//zom这样就实现了按不同属性进行排序。
版权声明:本文为博主原创文章,未经博主允许不得转载。
标签:javascript 排序
原文地址:http://blog.csdn.net/abs1118/article/details/46842331