排序代码。在示例下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:用法:需要排序的字段头里:<td columnContentType= "Text " onclick= "rowSortFun(this); "> 。 <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:用法:需要排序的字段头里:<td columnContentType= "Text " onclick= "rowSortFun(this); "> 。 <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
好像快不了很多...
不过我想如果数字之间相差比较远的话会好一点...