離家不遠

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

数组Array(JSON)有Array.sort(orderFunction)对数组进行排序

orderFunction方法是对Array进行排序的依据,需要自己定义,例如我们对如下数组进行排序

var arr = [{name:'a',age:28},{name:'c',age:50},{name:'d',age:10}];

1、按照name排序

 function sortByKey(arr,key){
     return arr.sort(function (a,b){
         //a,b为数字元素( 这边是{name:'',age:10} ) 
         var x=a[key],y=b[key];
         /*不能写成
         var x=a.key,y=b.key; 
         因为key为形参字符串(例如'name',x=a.'name'获取到为undefined,所以要写成=a['name']) */
         return x>y?1:(x<y?-1:0);          
     });      
 }
var arrSort = sortByKey(arr,'name');

 

posted on 2017-02-21 12:38  離家不遠  阅读(354)  评论(0编辑  收藏  举报