zoukankan      html  css  js  c++  java
  • JS 对Array集合排序的方法

    我的业务是根据距离的远近经行一个排序;

    第一种方法:冒泡排序

    排序前的数据是这样子的:

    排序后是这样子的:

    代码可以直接复制使用的:

    <!doctype html>
    <html>
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width">
        <title></title>
        <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js">
    </script>
    </head>
    <body>
    
    <script type="text/javascript">
        $(function(){
        var _arrayList=new Array();
        var _newArrayList=new Array();
        
        _arrayList[0]={"id":1,"name":"张三","distance":100};
        _arrayList[1]={"id":2,"name":"李四","distance":120};
        _arrayList[2]={"id":3,"name":"王武","distance":80};
        _arrayList[3]={"id":4,"name":"二狗","distance":40};
        _arrayList[4]={"id":5,"name":"屎蛋","distance":160};
        
        for(var i=0;i<_arrayList.length;i++)
        {
            for(var u=i+1;u<_arrayList.length;u++)
            {
                if(parseFloat(_arrayList[i]["distance"])>parseFloat(_arrayList[u]["distance"]))
                {
                        var num=[];
                        num=_arrayList[i];
                        _arrayList[i]=_arrayList[u];
                        _arrayList[u]=num;
                    
                }
            }
        }
        console.log(_arrayList);
        
        
        });
    </script>
    </body>
    </html>

     第二种方法:JavaScript sort()

    经过网友的介绍知道了这个set方式,太好用了!

    直接上代码:

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8">
        <title></title>
        <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js">
        </script>
    </head>
    <body>
        <div>
            <table>
                <thead>
                    <tr>
                        <td>Id</td>
                        <td>姓名</td>
                        <td>距离(米)</td>
                    </tr>
                </thead>
                <tbody id="arrayDiv">
                    <tr><td></td><td></td><td></td></tr>
                </tbody>
            </table>
        </div>
        <script>
    
            $(function () {
                var result = [
               { "id": 1, "name": "张三", "distance": 100 },
               { "id": 2, "name": "李四", "distance": 120 },
               { "id": 3, "name": "王武", "distance": 80 },
               { "id": 4, "name": "二狗", "distance": 40 },
               { "id": 5, "name": "屎蛋", "distance": 160 }
                ];
                function sortId(a, b) {
                    return a.distance - b.distance;//由低到高
                    //return b.distance - a.distance;//由高到低
                }
                result.sort(sortId);
                console.log(result);
                var _html = "";
                for (var i = 0; i < result.length; i++) {
                    _html += "<tr><td>" + result[i].id + "</td><td>" + result[i].name + "</td><td>" + result[i].distance + "</td></tr>";
                }
                $("#arrayDiv").html(_html);
            });
        </script>
    </body>
    </html>

    这是运行效果

  • 相关阅读:
    Java变量在内存中的存储
    Java成员变量和局部变量
    Java类的定义与类的实例化
    面向对象编程思想
    Java数组深入
    Java的Arrays类 基本用法
    Intellij IDEA如何设置快速调整字体大小的快捷键
    Win10如何快速截屏
    应用层协议原理(二)
    应用层协议原理(一)
  • 原文地址:https://www.cnblogs.com/LoveQin/p/10221326.html
Copyright © 2011-2022 走看看