首页 > 技术文章 > Js对于JSON、Array数据类型的排序

imbasaber 2017-02-21 12:38 原文

数组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');

 

推荐阅读