码迷,mamicode.com
首页 > Web开发 > 详细

用js 对拥有多个对象的数组进行排序

时间:2014-05-16 01:15:14      阅读:351      评论:0      收藏:0      [点我收藏+]

标签:style   blog   class   code   c   java   

 我们想要根据某个对象属性对数组进行排序。而传递给数组sort()方法的比较函数要接收
两个参数,即要比较的值。可是,我们需要一种方式来指明按照哪个属性来排序。要解决这个问题,
可以定义一个函数,它接收一个属性名,然后根据这个属性名来创建一个比较函数,下面就是这个函
数的定义。

bubuko.com,布布扣
 1  function createComparisonFunction(propertyName) {
 2             return function (object1, object2) {
 3                 var value1 = object1[propertyName];
 4                 var value2 = object2[propertyName];
 5                 if (value1 < value2) {
 6                     return -1;
 7                 } else if (value1 > value2) {
 8                     return 1;
 9                 } else {
10                     return 0;
11                 }
12             };
13         }
bubuko.com,布布扣

 

bubuko.com,布布扣
1 var data = [{name: "Zachary", age: 28}, {name: "Nicholas", age: 29}];
2 data.sort(createComparisonFunction("name"));
3 alert(data[0].name); //Nicholas
4 data.sort(createComparisonFunction("age"));
5 alert(data[0].name); //Zachary
bubuko.com,布布扣

 


 

用js 对拥有多个对象的数组进行排序,布布扣,bubuko.com

用js 对拥有多个对象的数组进行排序

标签:style   blog   class   code   c   java   

原文地址:http://www.cnblogs.com/xukunblog/p/3730139.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!