1、首先你给出的不是多维数组,js也无多维数组的概念
2、简单的应用使用冒泡法就足以胜任,数据量较大时可采用分区法和快速排序法
3、这里给出冒泡法+回调函数的代码,示例为将数组按ct列升序排列
<script>
function cmp(a,b,c) {
if(a[c] == b[c])
return 0;
return a[c] > b[c] ? 1:-1;
}for(i=0;i<temp.length-1;i++)
for(j=i;j<temp.length;j++)
if(cmp(temp[i],temp[j],"ct") > 0) {
c = temp[i]
temp[i] = temp[j]
temp[j] = c
}
</script>
2、简单的应用使用冒泡法就足以胜任,数据量较大时可采用分区法和快速排序法
3、这里给出冒泡法+回调函数的代码,示例为将数组按ct列升序排列
<script>
function cmp(a,b,c) {
if(a[c] == b[c])
return 0;
return a[c] > b[c] ? 1:-1;
}for(i=0;i<temp.length-1;i++)
for(j=i;j<temp.length;j++)
if(cmp(temp[i],temp[j],"ct") > 0) {
c = temp[i]
temp[i] = temp[j]
temp[j] = c
}
</script>
解决方案 »
- 设置div中<a href="#">的href
- 手机软件源码下载【分享】
- 那位大虾用过jquery插件flexigrid。发觉flexigrid在IE8下不能调换列,调整列宽也有问题,咋回事呀?
- 如何写正则表达式匹配html标签
- JAVASCRIPT中如何获取文件分隔符
- 如何隐藏 class 为cata_1 或 cata_2 的那一段数据
- 请问这种形式调用函数如何传递参数?
- 超级难题:::在一个table里,怎么能知道行号列号!!
- xmlhttp怎样才能不让IE跳出安全验证,并能执行下去的吗?
- 可不可以在AJAX的回调函数中再次提交一个请求?
- 表单中内容替换!
- 请教高手,javascript能发送email吗?能给出方法吗?在线等候
参数
arrayObj
必选项。任意 Array 对象。
sortFunction
可选项。是用来确定元素顺序的函数的名称。如果这个参数被省略,那么元素将按照 ASCII 字符顺序进行升序排列。
说明
sort 方法将 Array 对象进行适当的排序;在执行过程中并不会创建新的 Array 对象。如果为 sortfunction 参数提供了一个函数,那么该函数必须返回下列值之一: 负值,如果所传递的第一个参数比第二个参数小。
零,如果两个参数相等。
正值,如果第一个参数比第二个参数大。
示例
下面这个例子说明了 sort 方法的用法: function SortDemo(){
var a, l; // 声明变量。
a = new Array("X" ,"y" ,"d", "Z", "v","m","r");
l = a.sort(); // 排序数组。
return(l); // 返回排序的数组。
}
<div id=div1></div><BR>
<button onclick=mysort(0)>sortByCol-1</button>
<button onclick=mysort(1)>sortByCol-2</button>
<button onclick=mysort(2)>sortByCol-3</button>
<button onclick=mysort(3)>sortByCol-4</button>
<SCRIPT LANGUAGE="JavaScript">
<!--
var ar=[[75,86,95,64],[66,88,77,99],[86,45,76,85],[94,65,86,70]]
div1.innerHTML = ar.join("<br>")var col=0;
function cmp(a,b){
return a[col]-b[col];
}
function mysort(i){
col = i;
ar = ar.sort(cmp);
div1.innerHTML = ar.join("<br>")
}
//-->
</SCRIPT>
</BODY>