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>

解决方案 »

  1.   

    何必冒泡呢?js本来就有sort啊
      

  2.   

    返回一个元素已经进行了排序的 Array 对象。arrayobj.sort(sortfunction) 
    参数
    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);                      // 返回排序的数组。
    }
      

  3.   

    <BODY>
    <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>