JavaScript实现对象数组按不同字段排序

页面导航:首页 > 网络编程 > JavaScript > JavaScript实现对象数组按不同字段排序

JavaScript实现对象数组按不同字段排序

来源: 作者: 时间:2016-01-22 08:40 【

假设有一个对象数组,我们想要根据某个对象属性对数组进行排序,而传递给数组sort()方法的比较函数要接收两个参数,即要比较的值。可是,我们需要一种方式来指明按照哪个属性
假设有一个对象数组,我们想要根据某个对象属性对数组进行排序,而传递给数组sort()方法的比较函数要接收两个参数,即要比较的值。可是,我们需要一种方式来指明按照哪个属性来排序。要解决这个问题,可以定义一个函数,它接收一个属性名,然后根据这个属性名来创建一个比较函数,下面就是这个函数的定义。
function createComparionFun(propertyName)
{
    return function(object1,object2)
   {
       var value1=object1[propertyName];
       var value2=object2[propertyName];
      if(value1value2)
      {
          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
这样就实现了按不同属性进行排序。

 

Tags:

文章评论

最 近 更 新
热 点 排 行
Js与CSS工具
代码转换工具

<