001 -js对时间日期的排序

时间:2023-03-08 15:50:24
001 -js对时间日期的排序

001-JS对时间日期的排序

最近在做公司的项目时间,产品给了一个很简单的页面,让帮忙写一下。首先看一下产品的需求:

001 -js对时间日期的排序

需要对该列表进行排序

思路:(1)可以在数据库写sql语句的时间直接一个DESC按照时间降序排序就OK

(2)也可以是Controller控制器里面对List集合做一个遍历,然后时间进行比较

(3)当然,也可以在页面JS按照时间进行排序

-----------------------------------------------------------华丽的分割线-----------------------------------------------------------------------------------------

 JS对时间进行排序如果进行的?

(1)sort函数的使用【现在只讨论如果使用,至于更深的原理和用法,本人小白,还没有研究】

001 -js对时间日期的排序

controller层返回到前台页面的是一个List集合,

(1)首先需要获取到所有的集合对象

(2)sort函数对集合中的按照某一个字段进行排序

 function datagridBind() {
$("#dg").datagrid("loading");
$.get("reconResultStatisticsList.htm", $("#formSearch").serialize(), function(pager){
//按照时间的大小进行排序 降序
var rows = pager.pageData;
rows.sort(function (a, b) {
return a.reconDate<b.reconDate?1:-1;
});
$("#dg").datagrid("loadData", {"total":pager.total, rows:rows});
$("#dg").datagrid("loaded");
});
}

这样就可以完成排序!

---------------------------------------------------------sort()函数的说明------------------------------------------------------------------------------------------------------------------

如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序。要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以便进行比较。

array.sort()方法默认是升序排序,如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数 a 和 b,其返回值如下:

  • 若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。
  • 若 a 等于 b,则返回 0。
  • 若 a 大于 b,则返回一个大于 0 的值。

参考文章:

https://blog.csdn.net/u013022210/article/details/51995409

https://www.cnblogs.com/saifei/p/9043821.html