手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >js二维数组排序的简单示例代码
js二维数组排序的简单示例代码
摘要:如下所示:复制代码代码如下:NewDocument

如下所示:

复制代码 代码如下:

<!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实现简单div拖拽功能实例

javascript实现控制的多级下拉菜单

下拉菜单的简易制作

简单的防盗链功能代码(iframe)

javascript实现简单的进度条

javascript实现Table排序的方法

jQuery插件制作之参数用法实例分析

Java数据类型以及变量的定义

Javascript 字符串模板的简单实现

精品推荐
分类导航