zoukankan      html  css  js  c++  java
  • 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){
    //按照时间的大小进行排序 降序
    4 var rows = pager.pageData; 5 rows.sort(function (a, b) { 6 return a.reconDate<b.reconDate?1:-1; 7 }); 8 $("#dg").datagrid("loadData", {"total":pager.total, rows:rows}); 9 $("#dg").datagrid("loaded"); 10 }); 11 }

    这样就可以完成排序!

     ---------------------------------------------------------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

  • 相关阅读:
    编写登陆认证程序
    模拟实现一个ATM + 购物商城程序
    三级菜单
    12 场景制造
    11 Unity Editor界面
    3.7练习题
    Coolite 弹窗妙用
    Nginx反向代理 实现Web负载均衡
    MySQL 架构
    Lnmmp
  • 原文地址:https://www.cnblogs.com/yxllovetm/p/9786050.html
Copyright © 2011-2022 走看看