xuzuning(唠叨)請進:數組排序,在IE正常,Netscape就不聽使喚啦!!!
beret 2003-08-18 05:23:41 還是上次的數組
数组如下:
content1 = new Array();
content1[0] = new Array("01","aaaaa","46","1","0");
content1[1] = new Array("02","bbbbb","8","1","1");
content1[2] = new Array("03","ccccc","10","1","0");
content1[3] = new Array("04","ddddd","11","2","0");
content1[4] = new Array("05","eeeee","15","2","0");
content1[5] = new Array("06","fffff","17","1","0");
content1[6] = new Array("07","ggggg","20","3","0");
content1[7] = new Array("08","hhhhh","32","3","0");
content1[8] = new Array("09","iiiii","41","2","0");
content1[9] = new Array("10","jjjjj","2","1","0");
现在需要的排序方法是先按content1[i][4]的值从小到大,再按content1[i][3]的值从小到大,再根据content1[i][2]的值从大到小的顺序排序,小弟因为对JavaScript语言不是很熟,上次 xuzuning(唠叨)朋友也幫我寫了兩個按content1[i][3]的值从小到大,再根据content1[i][2]的值从大到小的顺序排序的方法,現在要加多一項,先以content1[i][4]的值从小到大來排,再按content1[i][3]的值从小到大,content1[i][2]的值从大到小的顺序排序。請問怎樣加上去,谢谢!
------------------------------------
xuzuning(唠叨)朋友上次給的答案如下:
var sort_key = 0; // 列号
function sort_asc(a,b) { // 升序
return (a[sort_key]-b[sort_key]);
}
function sort_desc(a,b) { // 降序
return (b[sort_key]-a[sort_key]);
}
sort_key = 2;
ar = content1.sort(sort_desc);
sort_key = 3;
ar = ar.sort(sort_asc);
sort_key = 4;
ar = ar.sort(sort_asc);
for(v in ar)
document.write(ar[v]+"<br/>");
現在客戶最低要求要支持Netscape6.2,但程序在Netscape6.2下不管用了,它只按數組的順序排列,請問有解決兼容的辦法嗎?謝謝!