<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    練習題---JS排序

    Posted on 2007-10-17 08:26 久城 閱讀(1494) 評論(1)  編輯  收藏 所屬分類: JavaTest
    有一個二維表格,表格中的每一列分別有一個列名,表格中的數據為數字類型,要求編寫一個程序,能夠按照用戶指定的列順序以及每個列的升降序進行排序。
    (1)       語言不限
    (2)       表格中的列數目不限(1-n
    (3)       排序的列數目不限(0-n
    (4)       變量的命名和使用要符合學習的內容
    例如:
    Id    Age   Score1 Score2 Score3
    1      20     45      56      67
    3      33     12      98      100
    …..
    7     77     33       12      91
    用戶可以指定按照Age(升序),Score2(降序)的順序對數據進行排序。

    代碼如下:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <html>
        
    <head>
            
    <style type="text/css">
                body 
    { font-size:1em;}
                div,h1,h3 
    { text-align : center; } 
                td.head 
    { width:120px;background-color:#dddddd;font-weight:bold;}
                td.data 
    { width:120px;background-color:#eeeeee;}
            
    </style>
            
    <script type="text/javascript" language="Javascript">
                
    // 二維數字數組
                var clmArr = new Array(); 
                clmArr
    =[ [1,5,456,6,89], [2,51,515,32,15],[3,45,68,24,6] ];    
                
    // 要根據排序的列
                var orderByTheObject = 0;
                
    // 排序方式
                var orderByTheOrder = 1;

                
    // 排序函數
                function arrSort(arrA,arrB)
                    
    if (orderByTheOrder == "asc"{
                        
    return arrA[orderByTheObject]-arrB[orderByTheObject]; 
                    }
     else if (orderByTheOrder == "desc")
                    
    {
                        
    return arrB[orderByTheObject]-arrA[orderByTheObject]; 
                    }

                }
     

                
    // 畫表格,輸出二維數組
                function writeTable(){
                    
    var outString = "<table>";
                    
    for(var i=0; i<clmArr.length; i++)
                    
    {
                        outString 
    += "<tr><td class='data'>"+ clmArr[i].join("</td><td class='data'>"+"</td></tr>";
                    }

                    outString 
    += "</table>";
                    document.getElementById(
    "data").innerHTML = outString;
                }


                
    // 改變排序方式
                function displayChange(){
                    orderByTheObject 
    = document.getElementById("clmName").value;
                    orderByTheOrder 
    = document.getElementById("order").value;
                    clmArr.sort(arrSort); 
                    writeTable();
                }
         
            
    </script>
        
    </head>
        
    <body scroll="no" onload="writeTable()">
        
    <h1>YW5_Test02</h1>
        
    <hr>
        
    <h3>Order By :</h3>
        
    <div id="slct">
            
    <select name="clmName" onchange="displayChange()">
                
    <option value="0">Id</option>
                
    <option value="1">Age</option>
                
    <option value="2">Score1</option>
                
    <option value="3">Score2</option>
                
    <option value="4">Score3</option>
            
    </select>&nbsp;&nbsp;&nbsp;&nbsp;
            
    <select name="order" onchange="displayChange()">
                
    <option value="asc">asc</option>
                
    <option value="desc">desc</option>
            
    </select>
        
    </div>
        
    <br>
        
    <br>
        
    <div id="head">
            
    <table>
                
    <tr>
                    
    <td class="head">Id</td>
                    
    <td class="head">Age</td>
                    
    <td class="head">Score1</td>
                    
    <td class="head">Score2</td>
                    
    <td class="head">Score3</td>
                
    </tr>
            
    </table>
        
    </div>
        
    <div id="data">
            
    <span></span>
        
    </div>
        
    </body>
    </html>

    這樣的代碼似乎有些格路。但還是讓我學到了些東西。

    用Comparator這個接口來做應該更標準一些,有時間再試試吧。


    歡迎來訪!^.^!
    本BLOG僅用于個人學習交流!
    目的在于記錄個人成長.
    所有文字均屬于個人理解.
    如有錯誤,望多多指教!不勝感激!

    Feedback

    # re: 練習題---JS排序  回復  更多評論   

    2014-12-09 12:03 by 讓他
    retention

    Copyright © 久城

    主站蜘蛛池模板: 成人性生交大片免费看中文| 无套内谢孕妇毛片免费看看| 午夜视频在线免费观看| 亚洲色婷婷综合久久| 中文字幕在线成人免费看| 亚洲熟女一区二区三区| 国产免费MV大全视频网站| 337p日本欧洲亚洲大胆裸体艺术| 一级毛片免费播放视频| 亚洲人成网站色在线入口| 国产特黄特色的大片观看免费视频| 奇米影视亚洲春色| 久久免费美女视频| a级片免费观看视频| 亚洲精品少妇30p| 99久久精品免费精品国产| 亚洲白嫩在线观看| 最近中文字幕无吗免费高清| 久久久久亚洲AV片无码| 亚洲美女视频免费| 亚洲αⅴ无码乱码在线观看性色| 免费人成视网站在线观看不卡| 51午夜精品免费视频| 亚洲AV日韩精品久久久久久久 | 亚洲宅男精品一区在线观看| 国产精品免费看久久久香蕉 | 亚洲国产成人久久| 看全色黄大色大片免费久久| 一级特黄色毛片免费看| 内射干少妇亚洲69XXX| 免费鲁丝片一级在线观看| 一级毛片高清免费播放| 亚洲四虎永久在线播放| 成年私人影院免费视频网站| 一级人做人a爰免费视频| 久久久婷婷五月亚洲97号色| 午夜a级成人免费毛片| baoyu777永久免费视频| 亚洲精品中文字幕无乱码麻豆| 免费A级毛片在线播放不收费| 久久久久久久岛国免费播放|