js对象数组排序

 

js中,很多情况下会遇到对象数组排序的问题,尤其是在前后端分离的当前时代,前端工程师从后端接口中拿到的数据就是一个对象数组,它的排序当然可以在后端进行,那么前端呢?

前端肯定也是可以的, 大不了去遍历嘛,自己写一个排序算法对于学过算法的人来说简直不要太简单,当然,如果有现成的"算法",干嘛还要去自己写一个,要知道,我们是站在巨人的肩膀上的,有些事拿来主义并不犯法

好了,废话不说了,直接上代码:

 

var tempData =[{...,sort:3,...},{...,sort:7,...},{...,sort:5,...}];
tempData = tempData.sort(function(a, b) {
  //return (b.sort + "").localeCompare((a.sort + "")); // 比较非数字类型
  return a.sort >= b.sort ? -1 : 1; // 比较数字类型 倒叙排序
});

 

代码中提供了两种比较方式,注释中已经写的很详细了,所谓非数字类型,就是字符串、日期等。

 

方法本身,我也记不清来自哪里了, 但是好用,嗯,这点就够了。

posted @ 2016-07-08 15:34  玄一飞  阅读(686)  评论(0)    收藏  举报