首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    table自定义排序

    实际上表格的排序就是把要排序的那列(或行),的值存在一个数组中,然后对数组用比较函数进行排序,然后再对表格内容进行替换. 思想:考虑代码的简单易用及可重复; 现在举例说明,以列排序为例; 1)表格的规范: 因为排序是在同类型之间进行的,比如:字符串,数字,日期;然而,用来触发排序事件的表头和该列数据的类型可能不同,所以在生成表格的时候最好将表头和下面的内容分开.以免在取值的时候还要对表头进行排除.所以可以采取下面的方法:表头放在thead里面,数据放在tbody里面(thead,tbody,tfoot 这三个是表格自身就拥有的,不是自己创造的;)这样就更直观了.当点击thead里面tr里的td后,触发排序事件,将tbody里的某列进行排序. 2)统一排序函数. 为了代码的简易,整个表格排序用一个函数,不同的列排序只是传递的参数不同;比如,第一列传1, 第二列则传2;但因为每列的数据类型可能不同,所以要进行判断.而且要将数据转换成可比较的类型.甚至可以通过传的参数不同获得不同的比较函数; 3)将要排序的列获取到,放在数组中; 为了程序的简单,可以直接把tr放在数组中,然后在比较函数中进行取值.将tr放在数组中时不会从表格中删除tr元素.因为仅仅存储了指针,并不是实际的元素. 4)排序 对数组里数据的类型进行判断,然后根据类型,进行转换,转成可转换的类型;然后用自己写的比较函数进行比较;得到排好序的数组; 5)按已排序的数组生成新的表格; 6)创建文档碎片,将新表格绑定在碎片一; 7)将文档碎片绑定在tbody上,从而实现了在用户看来刷新了表格的目的; 举个详细的例子: 一个2*3的表格;一列里面放的是名字,一列里面是图片;直接对图片肯定不能排序,所以要在图片的td里面自定义一个值.如:加一个value属性;

    02

    php将二维数组按日期(支持Ymd和Ynj格式日期)排序 转

    // 原始数组 $array = [         [             'date'=>'2019-2-18',         ],         [             'date'=>'2019-2-4',         ],         [             'date'=>'2019-2-19',         ],         [             'date'=>'2019-2-21',         ],         [             'date'=>'2019-2-24',         ],     ]; var_dump(order_date_array($array, 'desc', 'date')); /*  * 将二维数组按日期(支持Ymd和Ynj格式日期)排序  * order_date_array(原始二维数组, desc还是asc, 日期在二维数组中的键)  * */ function order_date_array($array, $order, $key){     if (!$array){         return [];     }else{         $_array = $array;     }     if (!$order){         $_order = 'desc';     }else{         $_order = $order;     }     if (!$key){ // 二维数据中的Ynj日期的键         $_key = 'date';     }else{         $_key = $key;     }     $new_array = [];     $array_1 = [];     $array_2 = [];     // 日期转时间戳     for ($t=0; $t<count($_array); $t++){         $date = strtotime($_array[$t][$_key]); // Ymd或者Ynj格式日期转时间戳         $array_1[] = $date;         $array_2[] = $date;     }     // 排列方式     if ($_order === 'desc'){ // 降序         rsort($array_2);     }else{ // 升序         sort($array_2);     }     // 重新排序原始数组     for ($r=0; $r<count($array_2); $r++){         $index = array_search($array_2[$r], $array_1); // 元素索引         $new_array[] = $_array[$index];     }     return $new_array; }

    01

    C语言之冒泡排序

    这是一个简单的例子,我再提供十道题供大家计算 给定一个整数数组,请对其进行升序排序。 给定一个浮点数数组,请对其进行降序排序。 给定一个字符串数组,请按字典序对其进行排序。 给定一个二维数组,请按每一行进行升序排序。 给定一个包含大写字母的字符串数组,请按字母顺序对其进行排序。 给定一个包含小写字母的字符串数组,请按字母顺序对其进行排序。 给定一个包含多个数字和字母的字符串数组,请按字母顺序和数字大小对其进行排序。 给定一个包含多个字符串的数组,其中一些字符串是其他字符串的前缀,请按字典序和非前缀关系对其进行排序。 给定一个包含多个日期字符串的数组,请按日期的先后顺序对其进行排序。 给定一个包含多个邮箱地址的数组,请按邮箱地址的字母顺序对其进行排序。

    01
    领券