为了账号安全,请及时绑定邮箱和手机立即绑定

关于数组排序的问题

关于数组排序的问题

Kevinzoo 2017-01-27 01:50:04
<!DOCTYPE> <html>   <head>     <meta charset="utf-8">     <title>IFE JavaScript Task 01</title>   </head> <body>   <ul id="source">     <li>北京空气质量:<b>40</b></li>     <li>上海空气质量:<b>70</b></li>     <li>天津空气质量:<b>80</b></li>     <li>广州空气质量:<b>50</b></li>     <li>深圳空气质量:<b>40</b></li>     <li>福州空气质量:<b>32</b></li>     <li>成都空气质量:<b>90</b></li>     <li>常州空气质量:<b>95</b></li>   </ul>   <ul id="resort">          <li>第一名:北京空气质量:<b>90</b></li>     <li>第二名:北京空气质量:<b>90</b></li>     <li>第三名:北京空气质量:<b>90</b></li>        </ul>   <button id="sort-btn">排序</button>   <script>   window.onload=function(){    var ali=document.getElementById('source').getElementsByTagName('li');    var ab=document.getElementById('source').getElementsByTagName('b');    var arr=[];    for(var i=0;i<ab.length;i++){    arr.push([ali[i].firstChild.nodeValue,ab[i].innerHTML]);    }     function sortArr(arr){                  for(var i = 0; i < arr.length; i++){             for(var j = 0; j < i; j++){                 if(arr[i][1] >= arr[j][1]){                     var o = arr[i];                     arr[i] = arr[j];                     arr[j] = o;                 }             }         }         /*return arr;*/     }     sortArr(arr);    var btn=document.getElementById("sort-btn");    var re=document.getElementById('resort');    var ali2=re.getElementsByTagName('li');    var ab2=re.getElementsByTagName("b");    btn.onclick=function(){       for(var i=0;i<ali2.length;i++){         ali2[i].firstChild.nodeValue="第一名:"+arr[i][0];         ab2[i].firstChild.nodeValue=arr[i][1]; } } }   </script> </body> </html>上面这一串就是实现一个获得数据,然后塞进一个数组排序再显示的功能,但是数组不是单纯的按数字大小排序的,如果给个像110这样的数,那排序就乱了。知道如果一般数组的话可以按sort(function(a,b){return a-b;});解决,但不明白原理,因为我上面的这个是数组套数组,试着写了几次没有成功,请问如何能够在这个基础上按数字大小排序,谢谢!
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 1004 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信