我的業務是根據距離的遠近經行一個排序;
第一種方法:冒泡排序
排序前的數據是這樣子的:
排序后是這樣子的:
代碼可以直接復制使用的:
<!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>
這是運行效果