最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

js二维数组排序的简单示例代码

来源:动视网 责编:小采 时间:2020-11-27 21:18:55
文档

js二维数组排序的简单示例代码

js二维数组排序的简单示例代码:本篇主要是对js二维数组排序的简单示例代码进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助如下所示:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/
推荐度:
导读js二维数组排序的简单示例代码:本篇主要是对js二维数组排序的简单示例代码进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助如下所示:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/


本篇主要是对js二维数组排序的简单示例代码进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助

如下所示:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
 <title> New Document </title>
 <meta name="Generator" content="EditPlus">
 <meta name="Author" content="">
 <meta name="Keywords" content="">
 <meta name="Description" content="">
 <script type="text/javascript">

 function getCard(m){
 var ret = [], rnd; 
 for(var i = 0; i < m; i++){
 rnd = Math.floor(Math.random()*(i+0.9999));
 ret[i] = ret[rnd];
 ret[rnd] = i
 }
 return ret;
 }

 var data = [];
 {
 for(var i = 0; i < 100; i ++){
 data.push(getCard(10));
 }
 }
 // 二维数据排序
 function mySort(array, col, ord, b, e){
 if(array.length == 0) return;
 //document.write("排序前"+array);
 var t = [], s, i, curCol = col[0];
 for(i = b; i < e; i ++){
 s = new String(array[i][curCol]);
 s._obj = array[i];
 t.push(s)
 }
 t.sort();
 if(ord[0] == "des"){
 t.reverse();
 }
 for(i = 0; i < e - b; i++){
 //document.write("<br/>");
 //document.write(array[i]);
 //document.write("<br/>");
 //document.write(t[i]._obj);
 //document.write("<br/>");
 //document.write(t[i]._obj == array[b+i]);
 array[b+i] = t[i]._obj;
 }
 //document.write("排序后====================<br/>")
 //print(array);
 var begin, end;
 if(col.length > 1){
 col.shift();
 ord.shift();
 begin = b;
 for(i = b; i < e - b - 1; i++){
 if( array[i][curCol] != array[i+1][curCol] ){
 end = i+1;
 //document.write("begin="+begin+"end="+end+"<br/>");
 mySort(array,col,ord,begin,end);
 begin = end;
 }
 }
 if(begin != e){
 mySort(array,col,ord,begin,e);
 }
 }
 //document.write("<br/>");
 //document.write("排序后"+array);
 }
 function print(data){
 for(var i = 0; i < data.length; i++){
 document.write(data[i]+"<br/>");
 }
 }
 document.write("排序前====================<br/>");
 print(data);
 var b = new Date().getTime();;
 mySort(data, [0,1,2],['asc','des','asc'],0,data.length); 
 document.write("用时"+(new Date().getTime() - b));
 document.write("排序后====================<br/>")
 print(data);
 </script>
 </head>
 <body>

 </body>
</html>

文档

js二维数组排序的简单示例代码

js二维数组排序的简单示例代码:本篇主要是对js二维数组排序的简单示例代码进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助如下所示:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/
推荐度:
标签: js 排序 排列
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top