001-js对时间⽇期的排序
001-JS对时间⽇期的排序
最近在做公司的项⽬时间,产品给了⼀个很简单的页⾯,让帮忙写⼀下。⾸先看⼀下产品的需求:
需要对该列表进⾏排序
思路:(1)可以在数据库写sql语句的时间直接⼀个DESC按照时间降序排序就OK
(2)也可以是Controller控制器⾥⾯对List集合做⼀个遍历,然后时间进⾏⽐较
(3)当然,也可以在页⾯JS按照时间进⾏排序
-----------------------------------------------------------华丽的分割线-----------------------------------------------------------------------------------------
JS对时间进⾏排序如果进⾏的?
(1)sort函数的使⽤【现在只讨论如果使⽤,⾄于更深的原理和⽤法,本⼈⼩⽩,还没有研究】
controller层返回到前台页⾯的是⼀个List集合,
(1)⾸先需要获取到所有的集合对象
(2)sort函数对集合中的按照某⼀个字段进⾏排序
1 function datagridBind() {
2 $("#dg").datagrid("loading");
3 $.get("reconResultStatisticsList.htm", $("#formSearch").serialize(), function(pager){sort函数 js
//按照时间的⼤⼩进⾏排序降序
4 var rows = pager.pageData;
5 rows.sort(function (a, b) {
6 Date&Date?1:-1;
7 });
8 $("#dg").datagrid("loadData", {"total":al, rows:rows});
9 $("#dg").datagrid("loaded");
10 });
11}
这样就可以完成排序!
---------------------------------------------------------sort()函数的说明------------------------------------------------------------------------------------------------------------------
如果调⽤该⽅法时没有使⽤参数,将按字母顺序对数组中的元素进⾏排序,说得更精确点,是按照字符编码的顺序进⾏排序。要实现这⼀点,⾸先应把数组的元素都转换成字符串(如有必要),以便进⾏⽐较。
array.sort()⽅法默认是升序排序,如果想按照其他标准进⾏排序,就需要提供⽐较函数,该函数要⽐较两个值,然后返回⼀个⽤于说明这两个值的相对顺序的数字。⽐较函数应该具有两个参数 a 和 b,其返回值如下:
若 a ⼩于 b,在排序后的数组中 a 应该出现在 b 之前,则返回⼀个⼩于 0 的值。
若 a 等于 b,则返回 0。
若 a ⼤于 b,则返回⼀个⼤于 0 的值。
参考⽂章:
h
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论