JavaScript按纯数字排序

摘要:
编号:编号:89//单个编号排序10//控制台。log(arr.sort(sortDownAge))//正序列11//控制台。日志(arr.sort(sortUpAge));“年龄”);“数字”);b) {31returnb.age-a.age32}3334//纯数字的灵活排序35/*数字的正排序36*37*数据:
 
直接上代码:
 1         var arr=[
 2             {name:"张散步",age:"23",sports:"篮球",number:"231123"},
 3             {name:"李斯的",age:"3",sports:"钢琴",number:"534563"},
 4             {name:"艾伦",age:"63",sports:"排球",number:"345455"},
 5             {name:"王武",age:"33",sports:"乒乓球",number:"867324"},
 6             {name:"乏力",age:"26",sports:"足球",number:"132457"}
 7         ];
 8 
 9         //单一的数字排序
10         //console.log(arr.sort(sortDownAge));//正序
11         //console.log(arr.sort(sortUpAge));//反序
12 
13 
14         //灵活的数字多排序  
15         //console.log(sortDownNumber(arr,"age"));//正序
16         //console.log(sortUpNumber(arr,"age"));//反序
17         //
18         //console.log(sortDownNumber(arr,"number"));//正序
19         //console.log(sortUpNumber(arr,"number"));//反序
20 
21         
22         
23         
24         
25         //单一的纯数字排序,上方是正序,下方是反序
26         function sortDownAge(a, b) {
27             return a.age - b.age
28         }
29 
30         function sortUpAge(a, b) {
31             return b.age - a.age
32         }
33 
34     //纯数字灵活排序
35         /*数字正排序
36         *
37         * data:对象数组
38         * p:排序的参数
39         *
40         * */
41         function sortDownNumber(data, p) {
42             for (i = 0; i < data.length - 1; i++) {
43                 for (j = 0; j < data.length - 1 - i; j++) {
44                     if (parseFloat(data[j][p]) > parseFloat(data[j + 1][p])) {
45                         var temp = data[j];
46                         data[j] = data[j + 1];
47                         data[j + 1] = temp;
48                     }
49                 }
50             }
51             return data;
52         }
53 
54 
55         /*数字反排序
56          *
57          * data:对象数组
58          * p:排序的参数
59          *
60          * */
61         function sortUpNumber(data, p) {
62             for (i = 0; i < data.length - 1; i++) {
63                 for (j = 0; j < data.length - 1 - i; j++) {
64                     if (parseFloat(data[j][p]) < parseFloat(data[j + 1][p])) {
65                         var temp = data[j];
66                         data[j] = data[j + 1];
67                         data[j + 1] = temp;
68                     }
69                 }
70             }
71             return data;
72         }

分别显示的结果如下截图:

 

  1、单一的数字排序,左侧是正序(arr.sort(sortDownAge)),右侧是反序(arr.sort(sortUpAge))

  JavaScript按纯数字排序第1张    JavaScript按纯数字排序第2张

  2、灵活的数字多排序,左侧是年龄正序(sortDownNumber(arr,"age")),右侧是年龄反序(sortUpNumber(arr,"age"))

  JavaScript按纯数字排序第3张    JavaScript按纯数字排序第4张

  3、灵活的数字多排序,左侧是number正序(sortDownNumber(arr,"number")),右侧是number反序(sortUpNumber(arr,"number"))

  JavaScript按纯数字排序第5张    JavaScript按纯数字排序第6张

    

  

   这是其他排序的方法,欢迎查看,欢迎给意见!

   按JavaScript日期排序

   按JavaScript非数字(中文)排序

   JavaScript按日期排序之灵活排序

   JavaScript按IP地址排序

  

免责声明:文章转载自《JavaScript按纯数字排序》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇快速解决Android中的selinux权限问题【转】Vue如何使用vue-area-linkage实现地址三级联动效果下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

leetcode常规算法题复盘(第七期)——区间和的个数(附带排序算法归纳)

题目原文   327. 区间和的个数   给定一个整数数组 nums,返回区间和在 [lower, upper] 之间的个数,包含 lower 和 upper。区间和 S(i, j) 表示在 nums 中,位置从 i 到 j 的元素之和,包含 i 和 j (i ≤ j)。 说明:最直观的算法复杂度是 O(n2) ,请在此基础上优化你的算法。 示例: 输入...

微信小程序post请求和get请求

wx.request({ url: 'https://URL', //这里''里面填写你的服务器API接口的路径 data: {}, //这里是可以填写服务器需要的参数 method: 'GET', // 声明GET请求 // header: {}, // 设置请求的 header,GET请求可以不填...

iptables规则的查看、添加、删除和修改

  http://ns.35.com/?p=211 1、查看iptables -nvL –line-number -L 查看当前表的所有规则,默认查看的是filter表,如果要查看NAT表,可以加上-t NAT参数 -n 不对ip地址进行反查,加上这个参数显示速度会快很多 -v 输出详细信息,包含通过该规则的数据包数量,总字节数及相应的网络接口 –line...

mysql(2)-启动mysql报错The server quit without updating PID file!

mysql启动报错 今天启动mysql又一次报错:The server quit without updating PID file!记得上次出现这个问题的时候,尝试了一些常规的方法,未果,所以索性重新进行安装。但是,相同的问题今天又出现了!!!OH, my god!恰巧今天时间充裕,尝试各种办法,终于皇天不负有心人,经过一个小时的奋战后,终于让我给搞...

psoc做dds

今天用psoc做了dds,现在总结一下。 1dds用到的相位累加器是用verilog写的,本来准备用一下datapath,这是和fpga不一样的一点,用了类似alu的结构,但是看手册后发现,虽然可以执行加法操作,但是1)位数固定,只能1,8,16,32等固定长度的数做加法。2)最重要的一点,加法结果不能输出。所以采用pld模块。添加一个自定义verilog...

Vue数据更新但页面没有更新的多种情况

Vue数据更新但页面没有更新的多种情况 1、Vue 无法检测实例被创建时不存在于 data 中的 变量 原因:由于 Vue 会在初始化实例时对 data中的数据执行 getter/setter 转化,所以 变量必须在 data 对象上存在才能让 Vue 将它转换为响应式的。 例如: new Vue({ data:{}, template: '&l...