<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 © 久城

    主站蜘蛛池模板: 亚洲第一页在线观看| 亚洲中文久久精品无码| 亚洲人成电影在线观看网| 无码精品国产一区二区三区免费 | 亚洲欧洲国产经精品香蕉网| 久久国产精品2020免费m3u8| 日韩亚洲人成在线综合日本| 天堂在线免费观看| 亚洲av永久无码精品国产精品| 无码囯产精品一区二区免费| 亚洲精品在线观看视频| 最近免费中文字幕高清大全| 亚洲制服丝袜一区二区三区| 成人性生免费视频| 久久久久久亚洲精品无码| 国产大片91精品免费看3| 日本特黄特色AAA大片免费| 亚洲性无码av在线| 黄瓜视频影院在线观看免费| 亚洲精品无码av片| 亚洲国产成人精品女人久久久 | 亚洲激情中文字幕| 国产精品视频免费观看| 亚洲精品国产精品乱码不卡√| 精品一卡2卡三卡4卡免费视频| 亚洲午夜国产精品无卡| 国产精品久免费的黄网站| h视频免费高清在线观看| 久久亚洲AV午夜福利精品一区| 91免费播放人人爽人人快乐| 爱爱帝国亚洲一区二区三区| 亚洲桃色AV无码| 思思re热免费精品视频66| 日韩亚洲人成网站| 久久久久亚洲Av无码专| 免费高清小黄站在线观看| 亚洲综合久久1区2区3区| 国产男女猛烈无遮挡免费视频网站| www一区二区www免费| 亚洲深深色噜噜狠狠网站| 中文字幕无码视频手机免费看|