首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

排序代码。在示例下500条数据时,效率提高50%的得分。(代码不必拘限于示例代码),该怎么处理

2012-03-12 
排序代码。在示例下500条数据时,效率提高50%的得分。(代码不必拘限于示例代码)htmlheadmetahttp-equiv

排序代码。在示例下500条数据时,效率提高50%的得分。(代码不必拘限于示例代码)
<html>

<head>
<meta   http-equiv= "Content-Type "   content= "text/html;   charset=gb2312 ">
<title> JK:支持民族工业,尽量少买X货 </title>
<script   language= "javascript "   srccccc= "CommonJS_RowSort.js ">
var   rowSortImg=document.createElement( "img ");
function   rowSortFun(tdObj){
var   d1=new   Date();
    var   currentColumnIndex=tdObj.cellIndex;
    if(rowSortImg.parentNode   !=   tdObj){
        tdObj.appendChild(rowSortImg);
        rowSortImg.src= "up.gif ";
    }
    else   if   (rowSortImg.src.indexOf( "down.gif ")> -1){
        rowSortImg.src= "up.gif ";
    }
    else{
        rowSortImg.src= "down.gif ";
    }
    var   currentTbody=tdObj.parentNode.parentNode;
    var   rowsArray=new   Array();
    for(   var   i=1;i <currentTbody.rows.length;i++){
        rowsArray[i-1]=currentTbody.rows[i].cells[currentColumnIndex];
    }
    rowsArray.sort(getSortFun(tdObj));
    for(var   i=0;i <rowsArray.length;i++){
        currentTbody.appendChild(rowsArray[i].parentNode);
    }
    alert( "行数 "+rowsArray.length+ ";所花毫秒数 "+(new   Date()-d1));
}

function   getSortFun(tdObj){
    var   sortIsAsc=(rowSortImg.src.indexOf( "up.gif ")> -1);
    if( "Number "==tdObj.columnContentType   &&   sortIsAsc){
        return   function   (trObj1,trObj2)   {return   trObj1.innerHTML*1-trObj2.innerHTML*1;}
    }
    else   if( "Number "==tdObj.columnContentType   &&   !sortIsAsc){
        return   function   (trObj1,trObj2)   {   return   trObj2.innerHTML*1-trObj1.innerHTML*1;}
    }
    else   if(sortIsAsc){
        return   function   (trObj1,trObj2)   {   return   (trObj1.innerHTML.toUpperCase()   >   trObj2.innerHTML.toUpperCase())-0.5;}
    }
    else   {
        return   function   (trObj1,trObj2)   {   return   (trObj1.innerHTML.toUpperCase()   <   trObj2.innerHTML.toUpperCase())-0.5;}
    }
}

</script>
<style>
.headerTr{background-color:#cccccc;}
</style>
</head>

<body>
<div   style= "font-size:10pt; ">
注1:用法:需要排序的字段头里:&lt;td   columnContentType= "Text "   onclick= "rowSortFun(this); "&gt;   。   <br/>                      
注2:鉴于很多提出要求前台排序的人,其实并不是真的需要前台排序,所以强列建议慎用前台排序。   <br/>                      

           
  <br/>                      

<br/>        
注:本页面仅在IE6/FireFox1.5下测试过。其它浏览器或其它版本未经测试。 <br/>                      


注-----:JK: <a   href= "mailTo:jk_10000@yahoo.com.cn?subject=RowSortSample "> JK_10000@yahoo.com.cn </a> <br/>                
<hr/>        
</div>

<table   border= "1 "   width= "100% "   >
    <tr   class= "headerTr ">
        <td   columnContentType= "Text "   onclick= "rowSortFun(this); "   >   字符串或其它 </td>
        <td   columnContentType= "Number "   onclick= "rowSortFun(this); "   > 数字 </td>
        <td   columnContentType= "Text "   onclick= "rowSortFun(this); "   > 字符串 </td>
        <td   columnContentType= "Number "   onclick= "rowSortFun(this); "   > 数字 </td>
        <td   > 输入框(不需要排序) </td>
    </tr>
    <tr>
        <td> a </td>
        <td> 2 </td>
        <td> j </td>
        <td> 1 </td>
        <td> <input   value= "1 "> </td>
    </tr>
    <tr>
        <td> b </td>
        <td> 1 </td>
        <td> k </td>
        <td> 2 </td>
        <td> <input   value= "连山 "> </td>
    </tr>
    <tr>
        <td> c </td>
        <td> 1 </td>
        <td> j </td>
        <td> 3 </td>
        <td> <input   value= "归藏 "> </td>
    </tr>
    <tr>
        <td> d </td>
        <td> 0 </td>
        <td> i </td>
        <td> 4 </td>
        <td> <input   value= "周易 "> </td>
    </tr>
    <tr>
        <td> e </td>
        <td> 2 </td>
        <td> m </td>
        <td> 5 </td>
        <td> <input   value= "仁者乐山智者乐水 "> </td>
    </tr>

</table>
</body>

</html>

[解决办法]
先沙发
[解决办法]
function rowSortFun(s_id){
$( "#div "+s_id).show();
}
[解决办法]
感觉问题如果慢应该出在sort函数上,我也去试试
------解决方案--------------------


好长...
脑袋清醒点再看...
[解决办法]
先放一个准备测试用例的方法,虽然只有两列
<textarea id= "textarea1 ">
</textarea>
<script language=javascript>
var tempStr= "abcdefghijklmn "
var a=new Array();
for(var i=0;i <500;i++)
{
a[i]= " <tr> <td> "+tempStr.charAt(Math.floor(Math.random()*14))+ " </td> <td> "+(Math.floor(Math.random()*50))+ " </td> </tr> "
}
document.getElementById( "textarea1 ").value=(a.join( "\r\n "))
</script>
[解决办法]
好长,好乱
[解决办法]
踩一脚再说,JK很少发贴的说,多结点分哈 ^_^
[解决办法]
这个方法可以提高50%以上,不过代码并没有那么全,只写了降序
<html>

<head>
<meta http-equiv= "Content-Type " content= "text/html; charset=gb2312 ">
<title> JK:支持民族工业,尽量少买X货 </title>
<script language= "javascript " srccccc= "CommonJS_RowSort.js ">
function rowSortFun(tdObj,sortType){
var d1=new Date();
var currentColumnIndex=tdObj.cellIndex;
var currentTbody=tdObj.parentNode.parentNode;
var rowsArray=new Array();
var objTd=null;
for( var i=1;i <currentTbody.rows.length;i++){
objTr=currentTbody.rows[i]
rowsArray[i-1]=new Array(objTr.cells[currentColumnIndex].innerHTML,objTr);
}
rowsArray.sort(getSortFun(sortType));
for(var i=0;i <rowsArray.length;i++){
currentTbody.appendChild(rowsArray[i][1]);
}
alert( "行数 "+rowsArray.length+ ";所花毫秒数 "+(new Date()-d1));
}

function getSortFun(sortType){
if( "stringTd "==sortType){
return function (trObj1,trObj2){return (trObj2[0].toUpperCase()> trObj1[0].toUpperCase())?1:-1}
}
else if( "numberTd "==sortType){
return function (trObj1,trObj2) { return ((parseInt(trObj2[0])-parseInt(trObj1[0]))> 0)?1:-1}
}
}

</script>
<style>
.headerTr{background-color:#cccccc;}
</style>
</head>

<body>
<div style= "font-size:10pt; ">
注1:用法:需要排序的字段头里:&lt;td columnContentType= "Text " onclick= "rowSortFun(this); "&gt; 。 <br/>
注2:鉴于很多提出要求前台排序的人,其实并不是真的需要前台排序,所以强列建议慎用前台排序。 <br/>


<br/>

<br/>
注:本页面仅在IE6/FireFox1.5下测试过。其它浏览器或其它版本未经测试。 <br/>
注-----:JK: <a href= "mailTo:jk_10000@yahoo.com.cn?subject=RowSortSample "> JK_10000@yahoo.com.cn </a> <br/>
<hr/>
</div>

<table border= "1 " width= "100% " >
<tr class= "headerTr ">
<td columnContentType= "Text " onclick= "rowSortFun(this, 'stringTd '); " > 字符串或其它 </td>
<td columnContentType= "Number " onclick= "rowSortFun(this, 'numberTd '); " > 数字 </td>
<td > 输入框(不需要排序) </td>
</tr>
<tr> <td> g </td> <td> 37 </td> </tr>
<tr> <td> i </td> <td> 17 </td> </tr>
<tr> <td> l </td> <td> 4 </td> </tr>
<tr> <td> g </td> <td> 37 </td> </tr>


<tr> <td> e </td> <td> 6 </td> </tr>
<tr> <td> n </td> <td> 48 </td> </tr>
<tr> <td> e </td> <td> 32 </td> </tr>
<tr> <td> i </td> <td> 29 </td> </tr>
<tr> <td> f </td> <td> 34 </td> </tr>
<tr> <td> f </td> <td> 15 </td> </tr>
<tr> <td> b </td> <td> 45 </td> </tr>
<tr> <td> g </td> <td> 15 </td> </tr>
<tr> <td> n </td> <td> 38 </td> </tr>
<tr> <td> a </td> <td> 7 </td> </tr>
<tr> <td> b </td> <td> 47 </td> </tr>
<tr> <td> n </td> <td> 28 </td> </tr>
<tr> <td> f </td> <td> 11 </td> </tr>
<tr> <td> i </td> <td> 47 </td> </tr>
<tr> <td> n </td> <td> 22 </td> </tr>
<tr> <td> e </td> <td> 25 </td> </tr>
<tr> <td> n </td> <td> 40 </td> </tr>
<tr> <td> l </td> <td> 44 </td> </tr>
<tr> <td> h </td> <td> 6 </td> </tr>
<tr> <td> h </td> <td> 31 </td> </tr>
<tr> <td> g </td> <td> 32 </td> </tr>
<tr> <td> a </td> <td> 39 </td> </tr>
<tr> <td> j </td> <td> 25 </td> </tr>
<tr> <td> a </td> <td> 8 </td> </tr>
<tr> <td> h </td> <td> 49 </td> </tr>
<tr> <td> l </td> <td> 25 </td> </tr>
<tr> <td> h </td> <td> 26 </td> </tr>
<tr> <td> l </td> <td> 35 </td> </tr>
<tr> <td> k </td> <td> 9 </td> </tr>
<tr> <td> a </td> <td> 25 </td> </tr>
<tr> <td> m </td> <td> 5 </td> </tr>
<tr> <td> g </td> <td> 30 </td> </tr>
<tr> <td> m </td> <td> 2 </td> </tr>
<tr> <td> k </td> <td> 14 </td> </tr>
<tr> <td> n </td> <td> 34 </td> </tr>
<tr> <td> f </td> <td> 11 </td> </tr>
<tr> <td> b </td> <td> 40 </td> </tr>
<tr> <td> i </td> <td> 45 </td> </tr>
<tr> <td> b </td> <td> 21 </td> </tr>
<tr> <td> i </td> <td> 22 </td> </tr>
<tr> <td> i </td> <td> 15 </td> </tr>
<tr> <td> g </td> <td> 7 </td> </tr>
<tr> <td> f </td> <td> 27 </td> </tr>
<tr> <td> j </td> <td> 38 </td> </tr>
<tr> <td> h </td> <td> 19 </td> </tr>
<tr> <td> b </td> <td> 39 </td> </tr>
<tr> <td> c </td> <td> 43 </td> </tr>
<tr> <td> n </td> <td> 47 </td> </tr>


<tr> <td> h </td> <td> 6 </td> </tr>
<tr> <td> d </td> <td> 40 </td> </tr>
<tr> <td> l </td> <td> 42 </td> </tr>
<tr> <td> j </td> <td> 0 </td> </tr>
<tr> <td> n </td> <td> 47 </td> </tr>
<tr> <td> c </td> <td> 47 </td> </tr>
<tr> <td> f </td> <td> 19 </td> </tr>
<tr> <td> f </td> <td> 2 </td> </tr>
<tr> <td> i </td> <td> 18 </td> </tr>
<tr> <td> k </td> <td> 39 </td> </tr>
<tr> <td> k </td> <td> 15 </td> </tr>
<tr> <td> n </td> <td> 11 </td> </tr>
<tr> <td> c </td> <td> 4 </td> </tr>
<tr> <td> n </td> <td> 2 </td> </tr>
<tr> <td> l </td> <td> 9 </td> </tr>
<tr> <td> g </td> <td> 48 </td> </tr>
<tr> <td> h </td> <td> 31 </td> </tr>
<tr> <td> i </td> <td> 4 </td> </tr>
<tr> <td> n </td> <td> 10 </td> </tr>
<tr> <td> l </td> <td> 45 </td> </tr>
<tr> <td> j </td> <td> 29 </td> </tr>
<tr> <td> f </td> <td> 27 </td> </tr>
<tr> <td> h </td> <td> 40 </td> </tr>
<tr> <td> f </td> <td> 22 </td> </tr>
<tr> <td> j </td> <td> 31 </td> </tr>
<tr> <td> e </td> <td> 39 </td> </tr>
<tr> <td> l </td> <td> 34 </td> </tr>
<tr> <td> l </td> <td> 47 </td> </tr>
<tr> <td> d </td> <td> 13 </td> </tr>
<tr> <td> b </td> <td> 30 </td> </tr>
<tr> <td> k </td> <td> 12 </td> </tr>
<tr> <td> h </td> <td> 31 </td> </tr>
<tr> <td> h </td> <td> 16 </td> </tr>
<tr> <td> l </td> <td> 4 </td> </tr>
<tr> <td> l </td> <td> 20 </td> </tr>
<tr> <td> l </td> <td> 0 </td> </tr>
<tr> <td> j </td> <td> 41 </td> </tr>
<tr> <td> l </td> <td> 45 </td> </tr>
<tr> <td> i </td> <td> 35 </td> </tr>
<tr> <td> k </td> <td> 18 </td> </tr>
<tr> <td> m </td> <td> 5 </td> </tr>
<tr> <td> m </td> <td> 16 </td> </tr>
<tr> <td> l </td> <td> 43 </td> </tr>
<tr> <td> n </td> <td> 23 </td> </tr>
<tr> <td> k </td> <td> 5 </td> </tr>
<tr> <td> m </td> <td> 30 </td> </tr>
<tr> <td> j </td> <td> 16 </td> </tr>
<tr> <td> l </td> <td> 27 </td> </tr>


<tr> <td> i </td> <td> 34 </td> </tr>
<tr> <td> f </td> <td> 32 </td> </tr>
<tr> <td> b </td> <td> 14 </td> </tr>
<tr> <td> i </td> <td> 24 </td> </tr>
<tr> <td> g </td> <td> 17 </td> </tr>
<tr> <td> m </td> <td> 6 </td> </tr>
<tr> <td> d </td> <td> 27 </td> </tr>
<tr> <td> a </td> <td> 25 </td> </tr>
<tr> <td> j </td> <td> 11 </td> </tr>
<tr> <td> h </td> <td> 22 </td> </tr>
<tr> <td> d </td> <td> 49 </td> </tr>
<tr> <td> n </td> <td> 35 </td> </tr>
<tr> <td> c </td> <td> 35 </td> </tr>
<tr> <td> a </td> <td> 4 </td> </tr>
<tr> <td> j </td> <td> 22 </td> </tr>
<tr> <td> l </td> <td> 28 </td> </tr>
<tr> <td> b </td> <td> 8 </td> </tr>
<tr> <td> b </td> <td> 21 </td> </tr>
<tr> <td> f </td> <td> 17 </td> </tr>
<tr> <td> e </td> <td> 0 </td> </tr>
<tr> <td> m </td> <td> 45 </td> </tr>
<tr> <td> d </td> <td> 0 </td> </tr>
<tr> <td> n </td> <td> 31 </td> </tr>
<tr> <td> h </td> <td> 36 </td> </tr>
<tr> <td> f </td> <td> 3 </td> </tr>
<tr> <td> l </td> <td> 33 </td> </tr>
<tr> <td> b </td> <td> 16 </td> </tr>
<tr> <td> m </td> <td> 44 </td> </tr>
<tr> <td> n </td> <td> 4 </td> </tr>
<tr> <td> c </td> <td> 15 </td> </tr>
<tr> <td> i </td> <td> 12 </td> </tr>
<tr> <td> n </td> <td> 18 </td> </tr>
<tr> <td> a </td> <td> 11 </td> </tr>
<tr> <td> m </td> <td> 2 </td> </tr>
<tr> <td> h </td> <td> 23 </td> </tr>
<tr> <td> f </td> <td> 4 </td> </tr>
<tr> <td> m </td> <td> 41 </td> </tr>
<tr> <td> j </td> <td> 46 </td> </tr>
<tr> <td> n </td> <td> 24 </td> </tr>
<tr> <td> i </td> <td> 13 </td> </tr>
<tr> <td> j </td> <td> 31 </td> </tr>
<tr> <td> f </td> <td> 36 </td> </tr>
<tr> <td> i </td> <td> 28 </td> </tr>
<tr> <td> f </td> <td> 29 </td> </tr>
<tr> <td> i </td> <td> 18 </td> </tr>
<tr> <td> a </td> <td> 14 </td> </tr>
<tr> <td> f </td> <td> 7 </td> </tr>
<tr> <td> f </td> <td> 23 </td> </tr>


<tr> <td> h </td> <td> 11 </td> </tr>
<tr> <td> g </td> <td> 14 </td> </tr>
<tr> <td> c </td> <td> 38 </td> </tr>
<tr> <td> n </td> <td> 49 </td> </tr>
<tr> <td> d </td> <td> 45 </td> </tr>
<tr> <td> b </td> <td> 47 </td> </tr>
<tr> <td> f </td> <td> 36 </td> </tr>
<tr> <td> i </td> <td> 23 </td> </tr>
<tr> <td> c </td> <td> 33 </td> </tr>
<tr> <td> g </td> <td> 25 </td> </tr>
<tr> <td> a </td> <td> 17 </td> </tr>
<tr> <td> e </td> <td> 11 </td> </tr>
<tr> <td> f </td> <td> 13 </td> </tr>
<tr> <td> h </td> <td> 27 </td> </tr>
<tr> <td> a </td> <td> 33 </td> </tr>
<tr> <td> g </td> <td> 19 </td> </tr>
<tr> <td> n </td> <td> 34 </td> </tr>
<tr> <td> h </td> <td> 45 </td> </tr>
<tr> <td> b </td> <td> 44 </td> </tr>
<tr> <td> g </td> <td> 34 </td> </tr>

[解决办法]
<tr> <td> a </td> <td> 23 </td> </tr>
<tr> <td> b </td> <td> 17 </td> </tr>
<tr> <td> i </td> <td> 49 </td> </tr>
<tr> <td> l </td> <td> 22 </td> </tr>
<tr> <td> g </td> <td> 25 </td> </tr>
<tr> <td> d </td> <td> 13 </td> </tr>
<tr> <td> l </td> <td> 8 </td> </tr>
<tr> <td> f </td> <td> 33 </td> </tr>
<tr> <td> j </td> <td> 41 </td> </tr>
<tr> <td> f </td> <td> 12 </td> </tr>
<tr> <td> a </td> <td> 6 </td> </tr>
<tr> <td> i </td> <td> 11 </td> </tr>
<tr> <td> k </td> <td> 0 </td> </tr>
<tr> <td> j </td> <td> 19 </td> </tr>
<tr> <td> b </td> <td> 20 </td> </tr>
<tr> <td> n </td> <td> 7 </td> </tr>
<tr> <td> k </td> <td> 38 </td> </tr>
<tr> <td> e </td> <td> 13 </td> </tr>
<tr> <td> j </td> <td> 10 </td> </tr>
<tr> <td> h </td> <td> 18 </td> </tr>
<tr> <td> f </td> <td> 7 </td> </tr>
<tr> <td> a </td> <td> 10 </td> </tr>
<tr> <td> m </td> <td> 16 </td> </tr>
<tr> <td> h </td> <td> 5 </td> </tr>
<tr> <td> h </td> <td> 18 </td> </tr>
<tr> <td> j </td> <td> 23 </td> </tr>
<tr> <td> b </td> <td> 22 </td> </tr>


<tr> <td> n </td> <td> 10 </td> </tr>
<tr> <td> m </td> <td> 0 </td> </tr>
<tr> <td> h </td> <td> 3 </td> </tr>
<tr> <td> m </td> <td> 24 </td> </tr>
<tr> <td> n </td> <td> 43 </td> </tr>
<tr> <td> a </td> <td> 25 </td> </tr>
<tr> <td> j </td> <td> 29 </td> </tr>
<tr> <td> n </td> <td> 4 </td> </tr>
<tr> <td> m </td> <td> 29 </td> </tr>
<tr> <td> e </td> <td> 42 </td> </tr>
<tr> <td> f </td> <td> 9 </td> </tr>
<tr> <td> g </td> <td> 18 </td> </tr>
<tr> <td> m </td> <td> 12 </td> </tr>
<tr> <td> i </td> <td> 37 </td> </tr>
<tr> <td> a </td> <td> 36 </td> </tr>
<tr> <td> c </td> <td> 16 </td> </tr>
<tr> <td> h </td> <td> 37 </td> </tr>
<tr> <td> e </td> <td> 8 </td> </tr>
<tr> <td> m </td> <td> 26 </td> </tr>
<tr> <td> g </td> <td> 43 </td> </tr>
<tr> <td> n </td> <td> 30 </td> </tr>
<tr> <td> h </td> <td> 40 </td> </tr>
<tr> <td> m </td> <td> 6 </td> </tr>
<tr> <td> k </td> <td> 46 </td> </tr>
<tr> <td> i </td> <td> 17 </td> </tr>
<tr> <td> a </td> <td> 30 </td> </tr>
<tr> <td> c </td> <td> 32 </td> </tr>
<tr> <td> k </td> <td> 26 </td> </tr>
<tr> <td> n </td> <td> 33 </td> </tr>
<tr> <td> n </td> <td> 39 </td> </tr>
<tr> <td> i </td> <td> 40 </td> </tr>
<tr> <td> e </td> <td> 33 </td> </tr>
<tr> <td> j </td> <td> 31 </td> </tr>
<tr> <td> e </td> <td> 39 </td> </tr>
<tr> <td> g </td> <td> 7 </td> </tr>
<tr> <td> f </td> <td> 3 </td> </tr>
<tr> <td> d </td> <td> 20 </td> </tr>
<tr> <td> f </td> <td> 7 </td> </tr>
<tr> <td> h </td> <td> 8 </td> </tr>
<tr> <td> a </td> <td> 29 </td> </tr>
<tr> <td> j </td> <td> 30 </td> </tr>
<tr> <td> l </td> <td> 8 </td> </tr>
<tr> <td> a </td> <td> 46 </td> </tr>
<tr> <td> b </td> <td> 34 </td> </tr>
<tr> <td> i </td> <td> 25 </td> </tr>
<tr> <td> e </td> <td> 3 </td> </tr>
<tr> <td> l </td> <td> 39 </td> </tr>
<tr> <td> i </td> <td> 4 </td> </tr>


<tr> <td> l </td> <td> 22 </td> </tr>
<tr> <td> l </td> <td> 31 </td> </tr>
<tr> <td> f </td> <td> 4 </td> </tr>
<tr> <td> k </td> <td> 38 </td> </tr>
<tr> <td> m </td> <td> 48 </td> </tr>
<tr> <td> a </td> <td> 43 </td> </tr>
<tr> <td> a </td> <td> 47 </td> </tr>
<tr> <td> c </td> <td> 36 </td> </tr>
<tr> <td> l </td> <td> 2 </td> </tr>
<tr> <td> c </td> <td> 9 </td> </tr>
<tr> <td> f </td> <td> 35 </td> </tr>
<tr> <td> f </td> <td> 14 </td> </tr>
<tr> <td> m </td> <td> 15 </td> </tr>
<tr> <td> n </td> <td> 39 </td> </tr>
<tr> <td> n </td> <td> 19 </td> </tr>
<tr> <td> f </td> <td> 45 </td> </tr>
<tr> <td> a </td> <td> 19 </td> </tr>
<tr> <td> d </td> <td> 27 </td> </tr>
<tr> <td> i </td> <td> 13 </td> </tr>
<tr> <td> a </td> <td> 27 </td> </tr>
<tr> <td> i </td> <td> 49 </td> </tr>
<tr> <td> g </td> <td> 33 </td> </tr>
<tr> <td> n </td> <td> 38 </td> </tr>
<tr> <td> n </td> <td> 15 </td> </tr>
<tr> <td> d </td> <td> 25 </td> </tr>
<tr> <td> n </td> <td> 30 </td> </tr>
<tr> <td> e </td> <td> 39 </td> </tr>
<tr> <td> l </td> <td> 38 </td> </tr>
<tr> <td> k </td> <td> 10 </td> </tr>
<tr> <td> a </td> <td> 5 </td> </tr>
<tr> <td> a </td> <td> 22 </td> </tr>
<tr> <td> h </td> <td> 10 </td> </tr>
<tr> <td> g </td> <td> 3 </td> </tr>
<tr> <td> m </td> <td> 36 </td> </tr>
<tr> <td> m </td> <td> 40 </td> </tr>
<tr> <td> h </td> <td> 42 </td> </tr>
<tr> <td> j </td> <td> 3 </td> </tr>
<tr> <td> h </td> <td> 25 </td> </tr>
<tr> <td> k </td> <td> 0 </td> </tr>
<tr> <td> g </td> <td> 21 </td> </tr>
<tr> <td> n </td> <td> 24 </td> </tr>
<tr> <td> g </td> <td> 14 </td> </tr>
<tr> <td> f </td> <td> 2 </td> </tr>
<tr> <td> d </td> <td> 4 </td> </tr>
<tr> <td> e </td> <td> 13 </td> </tr>
<tr> <td> l </td> <td> 28 </td> </tr>
<tr> <td> e </td> <td> 42 </td> </tr>
<tr> <td> e </td> <td> 14 </td> </tr>


<tr> <td> j </td> <td> 41 </td> </tr>
<tr> <td> c </td> <td> 39 </td> </tr>
<tr> <td> g </td> <td> 33 </td> </tr>
<tr> <td> i </td> <td> 4 </td> </tr>
<tr> <td> d </td> <td> 37 </td> </tr>
<tr> <td> l </td> <td> 34 </td> </tr>
<tr> <td> g </td> <td> 36 </td> </tr>
<tr> <td> f </td> <td> 10 </td> </tr>
<tr> <td> a </td> <td> 2 </td> </tr>
<tr> <td> m </td> <td> 2 </td> </tr>
<tr> <td> a </td> <td> 33 </td> </tr>
<tr> <td> c </td> <td> 26 </td> </tr>
<tr> <td> n </td> <td> 11 </td> </tr>
<tr> <td> n </td> <td> 40 </td> </tr>
<tr> <td> h </td> <td> 21 </td> </tr>

[解决办法]
<tr> <td> e </td> <td> 10 </td> </tr>
<tr> <td> c </td> <td> 8 </td> </tr>
<tr> <td> a </td> <td> 20 </td> </tr>
<tr> <td> l </td> <td> 21 </td> </tr>
<tr> <td> i </td> <td> 9 </td> </tr>
<tr> <td> h </td> <td> 31 </td> </tr>
<tr> <td> e </td> <td> 8 </td> </tr>
<tr> <td> b </td> <td> 8 </td> </tr>
<tr> <td> h </td> <td> 5 </td> </tr>
<tr> <td> m </td> <td> 40 </td> </tr>
<tr> <td> e </td> <td> 33 </td> </tr>
<tr> <td> i </td> <td> 33 </td> </tr>
<tr> <td> d </td> <td> 40 </td> </tr>
<tr> <td> m </td> <td> 14 </td> </tr>
<tr> <td> c </td> <td> 26 </td> </tr>
<tr> <td> m </td> <td> 17 </td> </tr>
<tr> <td> f </td> <td> 35 </td> </tr>
<tr> <td> f </td> <td> 23 </td> </tr>
<tr> <td> n </td> <td> 5 </td> </tr>
<tr> <td> m </td> <td> 23 </td> </tr>
<tr> <td> j </td> <td> 10 </td> </tr>
<tr> <td> n </td> <td> 3 </td> </tr>
<tr> <td> j </td> <td> 10 </td> </tr>
<tr> <td> i </td> <td> 41 </td> </tr>
<tr> <td> l </td> <td> 23 </td> </tr>
<tr> <td> l </td> <td> 18 </td> </tr>
<tr> <td> b </td> <td> 20 </td> </tr>
<tr> <td> h </td> <td> 30 </td> </tr>
<tr> <td> g </td> <td> 16 </td> </tr>
<tr> <td> e </td> <td> 16 </td> </tr>
<tr> <td> j </td> <td> 37 </td> </tr>
<tr> <td> j </td> <td> 33 </td> </tr>


<tr> <td> f </td> <td> 18 </td> </tr>
<tr> <td> j </td> <td> 46 </td> </tr>
<tr> <td> m </td> <td> 15 </td> </tr>
<tr> <td> a </td> <td> 13 </td> </tr>
<tr> <td> f </td> <td> 16 </td> </tr>
<tr> <td> g </td> <td> 41 </td> </tr>
<tr> <td> i </td> <td> 11 </td> </tr>
<tr> <td> k </td> <td> 24 </td> </tr>
<tr> <td> c </td> <td> 9 </td> </tr>
<tr> <td> g </td> <td> 41 </td> </tr>
<tr> <td> k </td> <td> 30 </td> </tr>
<tr> <td> i </td> <td> 31 </td> </tr>
<tr> <td> j </td> <td> 40 </td> </tr>
<tr> <td> a </td> <td> 15 </td> </tr>
<tr> <td> h </td> <td> 14 </td> </tr>
<tr> <td> k </td> <td> 5 </td> </tr>
<tr> <td> i </td> <td> 47 </td> </tr>
<tr> <td> m </td> <td> 37 </td> </tr>
<tr> <td> m </td> <td> 27 </td> </tr>
<tr> <td> l </td> <td> 6 </td> </tr>
<tr> <td> l </td> <td> 0 </td> </tr>
<tr> <td> g </td> <td> 8 </td> </tr>
<tr> <td> g </td> <td> 43 </td> </tr>
<tr> <td> a </td> <td> 41 </td> </tr>
<tr> <td> m </td> <td> 39 </td> </tr>
<tr> <td> c </td> <td> 32 </td> </tr>
<tr> <td> l </td> <td> 31 </td> </tr>
<tr> <td> m </td> <td> 30 </td> </tr>
<tr> <td> b </td> <td> 3 </td> </tr>
<tr> <td> c </td> <td> 41 </td> </tr>
<tr> <td> j </td> <td> 22 </td> </tr>
<tr> <td> b </td> <td> 5 </td> </tr>
<tr> <td> b </td> <td> 0 </td> </tr>
<tr> <td> a </td> <td> 34 </td> </tr>
<tr> <td> f </td> <td> 1 </td> </tr>
<tr> <td> l </td> <td> 46 </td> </tr>
<tr> <td> h </td> <td> 21 </td> </tr>
<tr> <td> i </td> <td> 3 </td> </tr>
<tr> <td> d </td> <td> 15 </td> </tr>
<tr> <td> f </td> <td> 45 </td> </tr>
<tr> <td> d </td> <td> 30 </td> </tr>
<tr> <td> d </td> <td> 37 </td> </tr>
<tr> <td> c </td> <td> 2 </td> </tr>
<tr> <td> g </td> <td> 35 </td> </tr>
<tr> <td> c </td> <td> 6 </td> </tr>
<tr> <td> f </td> <td> 5 </td> </tr>
<tr> <td> j </td> <td> 0 </td> </tr>
<tr> <td> d </td> <td> 8 </td> </tr>


<tr> <td> d </td> <td> 42 </td> </tr>
<tr> <td> m </td> <td> 31 </td> </tr>
<tr> <td> d </td> <td> 24 </td> </tr>
<tr> <td> h </td> <td> 16 </td> </tr>
<tr> <td> f </td> <td> 12 </td> </tr>
<tr> <td> n </td> <td> 37 </td> </tr>
<tr> <td> j </td> <td> 49 </td> </tr>
<tr> <td> a </td> <td> 11 </td> </tr>
<tr> <td> c </td> <td> 20 </td> </tr>
<tr> <td> b </td> <td> 39 </td> </tr>
<tr> <td> f </td> <td> 49 </td> </tr>
<tr> <td> g </td> <td> 5 </td> </tr>
<tr> <td> m </td> <td> 22 </td> </tr>
<tr> <td> b </td> <td> 5 </td> </tr>
<tr> <td> e </td> <td> 22 </td> </tr>
<tr> <td> j </td> <td> 15 </td> </tr>
<tr> <td> k </td> <td> 28 </td> </tr>
<tr> <td> f </td> <td> 34 </td> </tr>
<tr> <td> k </td> <td> 8 </td> </tr>
<tr> <td> k </td> <td> 0 </td> </tr>
<tr> <td> b </td> <td> 22 </td> </tr>
<tr> <td> i </td> <td> 25 </td> </tr>
<tr> <td> k </td> <td> 15 </td> </tr>
<tr> <td> k </td> <td> 42 </td> </tr>
<tr> <td> g </td> <td> 49 </td> </tr>
<tr> <td> g </td> <td> 40 </td> </tr>
<tr> <td> g </td> <td> 42 </td> </tr>
<tr> <td> n </td> <td> 0 </td> </tr>
<tr> <td> k </td> <td> 30 </td> </tr>
<tr> <td> d </td> <td> 46 </td> </tr>
<tr> <td> l </td> <td> 20 </td> </tr>
<tr> <td> h </td> <td> 49 </td> </tr>
<tr> <td> b </td> <td> 23 </td> </tr>
<tr> <td> m </td> <td> 14 </td> </tr>
<tr> <td> l </td> <td> 2 </td> </tr>
<tr> <td> a </td> <td> 21 </td> </tr>
<tr> <td> g </td> <td> 29 </td> </tr>
<tr> <td> c </td> <td> 33 </td> </tr>
<tr> <td> b </td> <td> 41 </td> </tr>
<tr> <td> a </td> <td> 42 </td> </tr>
<tr> <td> n </td> <td> 16 </td> </tr>
<tr> <td> b </td> <td> 1 </td> </tr>
<tr> <td> n </td> <td> 7 </td> </tr>
<tr> <td> b </td> <td> 41 </td> </tr>
<tr> <td> k </td> <td> 1 </td> </tr>
<tr> <td> j </td> <td> 22 </td> </tr>
<tr> <td> m </td> <td> 22 </td> </tr>
<tr> <td> h </td> <td> 3 </td> </tr>


<tr> <td> h </td> <td> 37 </td> </tr>
<tr> <td> n </td> <td> 34 </td> </tr>
<tr> <td> a </td> <td> 27 </td> </tr>
<tr> <td> i </td> <td> 31 </td> </tr>
<tr> <td> b </td> <td> 12 </td> </tr>
<tr> <td> a </td> <td> 42 </td> </tr>
<tr> <td> d </td> <td> 29 </td> </tr>
<tr> <td> k </td> <td> 48 </td> </tr>
<tr> <td> d </td> <td> 38 </td> </tr>
<tr> <td> c </td> <td> 47 </td> </tr>
<tr> <td> m </td> <td> 38 </td> </tr>
<tr> <td> g </td> <td> 33 </td> </tr>
<tr> <td> e </td> <td> 4 </td> </tr>
<tr> <td> m </td> <td> 10 </td> </tr>
<tr> <td> g </td> <td> 49 </td> </tr>
<tr> <td> i </td> <td> 6 </td> </tr>
<tr> <td> a </td> <td> 12 </td> </tr>
<tr> <td> b </td> <td> 35 </td> </tr>
<tr> <td> m </td> <td> 4 </td> </tr>
<tr> <td> f </td> <td> 14 </td> </tr>
<tr> <td> j </td> <td> 34 </td> </tr>
<tr> <td> c </td> <td> 28 </td> </tr>
<tr> <td> h </td> <td> 35 </td> </tr>
<tr> <td> m </td> <td> 27 </td> </tr>
<tr> <td> e </td> <td> 24 </td> </tr>
<tr> <td> l </td> <td> 32 </td> </tr>
<tr> <td> g </td> <td> 16 </td> </tr>
<tr> <td> k </td> <td> 10 </td> </tr>
<tr> <td> m </td> <td> 21 </td> </tr>
<tr> <td> j </td> <td> 27 </td> </tr>
<tr> <td> f </td> <td> 26 </td> </tr>
<tr> <td> k </td> <td> 4 </td> </tr>
<tr> <td> c </td> <td> 36 </td> </tr>
<tr> <td> l </td> <td> 31 </td> </tr>
<tr> <td> g </td> <td> 17 </td> </tr>
<tr> <td> c </td> <td> 10 </td> </tr>
<tr> <td> n </td> <td> 41 </td> </tr>
<tr> <td> m </td> <td> 46 </td> </tr>
<tr> <td> f </td> <td> 9 </td> </tr>
<tr> <td> b </td> <td> 35 </td> </tr>
<tr> <td> l </td> <td> 18 </td> </tr>
<tr> <td> k </td> <td> 21 </td> </tr>
<tr> <td> k </td> <td> 40 </td> </tr>
<tr> <td> l </td> <td> 24 </td> </tr>
<tr> <td> n </td> <td> 26 </td> </tr>
<tr> <td> d </td> <td> 5 </td> </tr>
<tr> <td> g </td> <td> 7 </td> </tr>
<tr> <td> e </td> <td> 45 </td> </tr>


<tr> <td> f </td> <td> 7 </td> </tr>
<tr> <td> e </td> <td> 21 </td> </tr>
<tr> <td> d </td> <td> 20 </td> </tr>
<tr> <td> e </td> <td> 39 </td> </tr>
<tr> <td> d </td> <td> 19 </td> </tr>
<tr> <td> f </td> <td> 31 </td> </tr>
<tr> <td> h </td> <td> 6 </td> </tr>
<tr> <td> e </td> <td> 40 </td> </tr>
<tr> <td> a </td> <td> 44 </td> </tr>
<tr> <td> g </td> <td> 28 </td> </tr>
<tr> <td> g </td> <td> 25 </td> </tr>
<tr> <td> j </td> <td> 14 </td> </tr>
<tr> <td> d </td> <td> 24 </td> </tr>
<tr> <td> h </td> <td> 14 </td> </tr>
<tr> <td> h </td> <td> 11 </td> </tr>
<tr> <td> g </td> <td> 34 </td> </tr>
<tr> <td> b </td> <td> 15 </td> </tr>
<tr> <td> n </td> <td> 13 </td> </tr>
</table>
</body>

</html>
[解决办法]
拜托,hbhbhbhbhb1021老大,发这么长 ^_^
[解决办法]
..........
[解决办法]
后面的两个帖子都没什么用,JK难得发帖,500条数据把他顶起来:)
[解决办法]
我的应该最高效....
不过不考虑数据冗余...

哈哈哈.
[解决办法]
....
[解决办法]
一个高效率的算法一般是在已知结构上搞出来的...

唉...俺只有在了解足够多内容的前提下,,,
才有办法搞...



[解决办法]
占位看
[解决办法]
可以从三个方面优化:
1、提取数据
可以考虑使用正则匹配如:match(/ <tr[\s\S]*? <\/tr> /ig);
2、排序算法
采用一些快速排序或希尔排序算法
3、写入数据
鉴于是表格,无法使用innerHTML,所以这部分可能暂时无法优化

大家可以实践证明一下!
[解决办法]
正则 vs indexOf
compile过的 正则 vs indexOf
排序什么的用内置函数
少点if else
少碟带几次

[解决办法]
我感觉还是有可以提高的空间,如果把sort中间的函数去掉,就可以看到还可以提高一些,也就是说sort函数执行了很多东西,会变得很慢,我的个人观点是
sort虽然是内置的函数,但是我想他应该不知道要排序的数是什么样的,而数据结构中排序算法的快慢和数据是什么样是有很大的关系.如果sort会在排序之前先判断数据是什么样,那样就更说明sort不是最优的.也就是说sort应该不一定就是最优的函数,这个观点只是我自己的推理,没有实践过.
[解决办法]
sort()主要是慢在调用自定义函数上面...
所以如果有办法不调用自定义函数的话有可能再提速一点...
如果不考虑原始数据合法性的话...
可以全部不用...
逆序就reverse一下...
[解决办法]
回复人:btbtd(转型(L/C)AMP) ( 一星(中级)) 信誉:100 2007-8-9 15:39:38 得分:0
?

一个高效率的算法一般是在已知结构上搞出来的...

唉...俺只有在了解足够多内容的前提下,,,
才有办法搞...
----------

ding 他的。
------解决方案--------------------


学习

[解决办法]
哈哈,后面的方法是快了,数字慢的话可以偷懒放一个隐藏的td存放String.fromCharCode,如果
是IE的话在td上面放个自定义属性应该也可以吧,把数字的排序消耗转换到页面初始化的时候
[解决办法]
mark

[解决办法]
测试了下,加属性会变快,和字符串是一样的速度了
生成测试代码的文件,把table考过来,太长就不刷屏了
<script language=javascript>
var obj=document.getElementsByTagName( "table ")[0].childNodes[0]
for(var i=0;i <obj.childNodes.length;i++)
{
obj.childNodes[i].childNodes[1].aaa= "a "+obj.childNodes[i].childNodes[1].innerHTML
}
document.getElementById( "textarea1 ").value=obj.outerHTML
</script>


下面是排序的代码
<script language= "javascript " srccccc= "CommonJS_RowSort.js ">

function rowSortFun(tdObj,sortType){
var d1=new Date();
var currentColumnIndex=tdObj.cellIndex;
var currentTbody=tdObj.parentNode.parentNode;
var rowsArray=new Array();
var objTd=null;
for( var i=1;i <currentTbody.rows.length;i++){
objTr=currentTbody.rows[i]
//rowsArray[i-1]=new Array(objTr.cells[currentColumnIndex].innerHTML,objTr);
//rowsArray[i-1]=new String(currentTbody.rows[i].cells[currentColumnIndex].innerHTML);
//rowsArray[i-1].trObj=currentTbody.rows[i];
rowsArray[i-1]=new String(currentTbody.rows[i].cells[currentColumnIndex].innerHTML.toUpperCase());
rowsArray[i-1].trObj=currentTbody.rows[i];
}
rowsArray.sort();

for(var i=0;i <rowsArray.length;i++){
currentTbody.appendChild(rowsArray[i].trObj);
//currentTbody.appendChild(rowsArray[i][1]);
}
alert( "行数 "+rowsArray.length+ ";所花毫秒数 "+(new Date()-d1));
}

</script>
[解决办法]
不过测试的时候,发现快速排序要比sort函数慢,晕倒:)
[解决办法]
内置的东西都是经过编译的组件...
咱们写的东西都是解释执行的...
低了一个档次...
[解决办法]
开了好几个测试的,生成数组的那句话传错了.
if(sortType== "numberTd ")
rowsArray[i-1]=new String(currentTbody.rows[i].cells[currentColumnIndex].aaa);
else
rowsArray[i-1]=new String(currentTbody.rows[i].cells[currentColumnIndex].innerHTML.toUpperCase());

后面的那个排序上面的是还是有问题的
不过按位数生成应该可以做到啊

上面那个测试用例,如果用Ultraedit可以在替换的时候把正则钩上,然后把aaa= "a^(?^) "替换成aaa= "a0^1 "这样位数就可以做到一样了.

看起来效率还可以,比innerHTML要快一些,不过这是把时间转到初始化上了


[解决办法]
<tr> <td> a </td> <td> 23 </td> </tr>
<tr> <td> b </td> <td> 17 </td> </tr>
<tr> <td> i </td> <td> 49 </td> </tr>
<tr> <td> l </td> <td> 22 </td> </tr>
<tr> <td> g </td> <td> 25 </td> </tr>
<tr> </tr>
<tr> <td> l </td> <td> 8 </td> </tr>
<tr> <td> f </td> <td> 33 </td> </tr>
<tr> <td> j </td> <td> 41 </td> </tr>
<tr> <td> f </td> <td> 12 </td> </tr>
<tr> <td> a </td> <td> 6 </td> </tr>


<tr> <td> i </td> <td> 11 </td> </tr>
<tr> <td> k </td> <td> 0 </td> </tr>
<tr> <td> j </td> <td> 19 </td> </tr>
<tr> <td> b </td> <td> 20 </td> </tr>
<tr> <td> n </td> <td> 7 </td> </tr>
<tr> <td> k </td> <td> 38 </td> </tr>
<tr> <td> e </td> <td> 13 </td> </tr>
<tr> <td> j </td> <td> 10 </td> </tr>
<tr> <td> h </td> <td> 18 </td> </tr>
<tr> <td> f </td> <td> 7 </td> </tr>
<tr> <td> a </td> <td> 10 </td> </tr>
<tr> <td> m </td> <td> 16 </td> </tr>
<tr> <td> h </td> <td> 5 </td> </tr>
<tr> <td> h </td> <td> 18 </td> </tr>
<tr> <td> j </td> <td> 23 </td> </tr>
<tr> <td> b </td> <td> 22 </td> </tr>
<tr> <td> n </td> <td> 10 </td> </tr>
<tr> <td> m </td> <td> 0 </td> </tr>
<tr> <td> h </td> <td> 3 </td> </tr>
<tr> <td> m </td> <td> 24 </td> </tr>
<tr> <td> n </td> <td> 43 </td> </tr>
<tr> <td> a </td> <td> 25 </td> </tr>
<tr> <td> j </td> <td> 29 </td> </tr>
<tr> <td> n </td> <td> 4 </td> </tr>
<tr> <td> m </td> <td> 29 </td> </tr>
<tr> <td> e </td> <td> 42 </td> </tr>
<tr> <td> f </td> <td> 9 </td> </tr>
<tr> <td> g </td> <td> 18 </td> </tr>
<tr> <td> m </td> <td> 12 </td> </tr>
<tr> <td> i </td> <td> 37 </td> </tr>
<tr> <td> a </td> <td> 36 </td> </tr>
<tr> <td> c </td> <td> 16 </td> </tr>
<tr> <td> h </td> <td> 37 </td> </tr>
<tr> <td> e </td> <td> 8 </td> </tr>
<tr> <td> m </td> <td> 26 </td> </tr>
<tr> <td> g </td> <td> 43 </td> </tr>
<tr> <td> n </td> <td> 30 </td> </tr>
<tr> <td> h </td> <td> 40 </td> </tr>
<tr> <td> m </td> <td> 6 </td> </tr>
<tr> <td> k </td> <td> 46 </td> </tr>
<tr> <td> i </td> <td> 17 </td> </tr>
<tr> <td> a </td> <td> 30 </td> </tr>
<tr> <td> c </td> <td> 32 </td> </tr>
<tr> <td> k </td> <td> 26 </td> </tr>
<tr> <td> n </td> <td> 33 </td> </tr>
<tr> <td> n </td> <td> 39 </td> </tr>
<tr> <td> i </td> <td> 40 </td> </tr>
<tr> <td> e </td> <td> 33 </td> </tr>


<tr> <td> j </td> <td> 31 </td> </tr>
<tr> <td> e </td> <td> 39 </td> </tr>
<tr> <td> g </td> <td> 7 </td> </tr>
<tr> <td> f </td> <td> 3 </td> </tr>
<tr> <td> d </td> <td> 20 </td> </tr>
<tr> <td> f </td> <td> 7 </td> </tr>
<tr> <td> h </td> <td> 8 </td> </tr>
<tr> <td> a </td> <td> 29 </td> </tr>
<tr> <td> j </td> <td> 30 </td> </tr>
<tr> <td> l </td> <td> 8 </td> </tr>
<tr> <td> a </td> <td> 46 </td> </tr>
<tr> <td> b </td> <td> 34 </td> </tr>
<tr> <td> i </td> <td> 25 </td> </tr>
<tr> <td> e </td> <td> 3 </td> </tr>
<tr> <td> l </td> <td> 39 </td> </tr>
<tr> <td> i </td> <td> 4 </td> </tr>
<tr> <td> l </td> <td> 22 </td> </tr>
<tr> <td> l </td> <td> 31 </td> </tr>
<tr> <td> f </td> <td> 4 </td> </tr>
<tr> <td> k </td> <td> 38 </td> </tr>
<tr> <td> m </td> <td> 48 </td> </tr>
<tr> <td> a </td> <td> 43 </td> </tr>
<tr> <td> a </td> <td> 47 </td> </tr>
<tr> <td> c </td> <td> 36 </td> </tr>
<tr> <td> l </td> <td> 2 </td> </tr>
<tr> <td> c </td> <td> 9 </td> </tr>
<tr> <td> f </td> <td> 35 </td> </tr>
<tr> <td> f </td> <td> 14 </td> </tr>
<tr> <td> m </td> <td> 15 </td> </tr>
<tr> <td> n </td> <td> 39 </td> </tr>
<tr> <td> n </td> <td> 19 </td> </tr>
<tr> <td> f </td> <td> 45 </td> </tr>
<tr> <td> a </td> <td> 19 </td> </tr>
<tr> <td> d </td> <td> 27 </td> </tr>
<tr> <td> i </td> <td> 13 </td> </tr>
<tr> <td> a </td> <td> 27 </td> </tr>
<tr> <td> i </td> <td> 49 </td> </tr>
<tr> <td> g </td> <td> 33 </td> </tr>
<tr> <td> n </td> <td> 38 </td> </tr>
<tr> <td> n </td> <td> 15 </td> </tr>
<tr> <td> d </td> <td> 25 </td> </tr>
<tr> <td> n </td> <td> 30 </td> </tr>
<tr> <td> e </td> <td> 39 </td> </tr>
<tr> <td> l </td> <td> 38 </td> </tr>
<tr> <td> k </td> <td> 10 </td> </tr>
<tr> <td> a </td> <td> 5 </td> </tr>
<tr> <td> a </td> <td> 22 </td> </tr>
<tr> <td> h </td> <td> 10 </td> </tr>


<tr> <td> g </td> <td> 3 </td> </tr>
<tr> <td> m </td> <td> 36 </td> </tr>
<tr> <td> m </td> <td> 40 </td> </tr>
<tr> <td> h </td> <td> 42 </td> </tr>
<tr> <td> j </td> <td> 3 </td> </tr>
<tr> <td> h </td> <td> 25 </td> </tr>
<tr> <td> k </td> <td> 0 </td> </tr>
<tr> <td> g </td> <td> 21 </td> </tr>
<tr> <td> n </td> <td> 24 </td> </tr>
<tr> <td> g </td> <td> 14 </td> </tr>
<tr> <td> f </td> <td> 2 </td> </tr>
<tr> <td> d </td> <td> 4 </td> </tr>
<tr> <td> e </td> <td> 13 </td> </tr>
<tr> <td> l </td> <td> 28 </td> </tr>
<tr> <td> e </td> <td> 42 </td> </tr>
<tr> <td> e </td> <td> 14 </td> </tr>
<tr> <td> j </td> <td> 41 </td> </tr>
<tr> <td> c </td> <td> 39 </td> </tr>
<tr> <td> g </td> <td> 33 </td> </tr>
<tr> <td> i </td> <td> 4 </td> </tr>
<tr> <td> d </td> <td> 37 </td> </tr>
<tr> <td> l </td> <td> 34 </td> </tr>
<tr> <td> g </td> <td> 36 </td> </tr>
<tr> <td> f </td> <td> 10 </td> </tr>
<tr> <td> a </td> <td> 2 </td> </tr>
<tr> <td> m </td> <td> 2 </td> </tr>
<tr> <td> a </td> <td> 33 </td> </tr>
<tr> <td> c </td> <td> 26 </td> </tr>
<tr> <td> n </td> <td> 11 </td> </tr>
<tr> <td> n </td> <td> 40 </td> </tr>
<tr> <td> h </td> <td> 21 </td> </tr>
[解决办法]
汗一个...
之前想的sort()不用自定义函数没有考虑到数字11会比5小...
我再研究下怎样比较数字...
[解决办法]
用这个比较数字的话...
function getSortFun_cc(tdObj){
if( "Number "==tdObj.columnContentType){
return function (trObj1,trObj2) {
if(trObj1.length> trObj2.length)
return 1;
else if(trObj1.length <trObj2.length)
return -1;
else
return trObj1-trObj2;
}
}
else return null;
}

用最新的 "版本 "设置needCache=false,同一组数据,5K个1~1000的随机数...
计时如下...
**用getSortFun_cc():
59696000
56575500
58755531
57975735
**用原先的版本:
62506063
60476141
60316125
59846437

好像快不了很多...
不过我想如果数字之间相差比较远的话会好一点...

热点排行