js二維數(shù)組排序的簡(jiǎn)單示例代碼
如下所示:
<!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));
}
}
// 二維數(shù)據(jù)排序
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("用時(shí)"+(new Date().getTime() - b));
document.write("排序后====================<br/>")
print(data);
//-->
</script>
</head>
<body>
</body>
</html>
- js二維數(shù)組定義和初始化的三種方法總結(jié)
- JS二維數(shù)組的定義說明
- javascript 二維數(shù)組的實(shí)現(xiàn)與應(yīng)用
- js sort 二維數(shù)組排序的用法小結(jié)
- Javascript 二維數(shù)組
- JavaScript實(shí)現(xiàn)多維數(shù)組的方法
- 定義JavaScript二維數(shù)組采用定義數(shù)組的數(shù)組來實(shí)現(xiàn)
- js處理自己不能定義二維數(shù)組的方法詳解
- javascript二維數(shù)組轉(zhuǎn)置實(shí)例
- JavaScript實(shí)現(xiàn)數(shù)組降維詳解
相關(guān)文章
js中的時(shí)間轉(zhuǎn)換—毫秒轉(zhuǎn)換成日期時(shí)間的示例代碼
本篇文章主要是對(duì)js中的時(shí)間轉(zhuǎn)換—毫秒轉(zhuǎn)換成日期時(shí)間的示例代碼進(jìn)行了介紹,需要的朋友可以過來參考下,希望對(duì)大家有所幫助2014-01-01
論壇轉(zhuǎn)貼工具中用到的正則表達(dá)式學(xué)習(xí)正則的好例子
論壇轉(zhuǎn)貼工具中用到的正則表達(dá)式學(xué)習(xí)正則的好例子...2007-11-11
Javascript實(shí)現(xiàn)的CSS代碼高亮顯示
到網(wǎng)上一位別出心裁的高手使用字符串而不是正則表達(dá)式實(shí)現(xiàn)了Javascript代碼高亮顯示,自己受益匪淺,于是就構(gòu)思了CSS代碼的高亮顯示。2009-11-11
JS中實(shí)現(xiàn)隱藏部分姓名或者電話號(hào)碼的代碼
最近做了小項(xiàng)目,項(xiàng)目需要只顯示用戶的姓名和手機(jī)號(hào)開頭跟結(jié)尾,其他部分用*號(hào)代替,下面小編給大家分享一段簡(jiǎn)單的代碼,需要的朋友跟隨腳本之家小編一起看看吧2018-07-07
JavaScript中遍歷對(duì)象的property的3種方法介紹
這篇文章主要介紹了JavaScript中遍歷對(duì)象的property的3種方法介紹,本文先是講解了3種方法并用一張圖片加深理解,然后給出代碼實(shí)例,需要的朋友可以參考下2014-12-12

