不知道你想实现的是这样的结果: <script type="text/javascript"> var arr=[[1,11],[2,13],[3,12]]; var arrtmp = arr[0]; for (i = 1; i < arr.length; i ++) arrtmp = arrtmp.concat(arr[i]); //把二维数组所有元素链接为一维数组 function sortNumber(a,b) { return a - b; } arrtmp.sort(sortNumber); //按数值大小排序 var arr1 = new Array(), arr2 = new Array(); arr1 = arrtmp.slice(0,arrtmp.length / 2); arr2 = arrtmp.slice(arrtmp.length / 2); //把arrtmp等分为两个数组 var arrResult = new Array(); for (i = 0; i < arr1.length; i ++) arrResult.push(Array(arr1[i],arr2[i])); alert(arrResult); </script>
<script type="text/javascript"> var arr=[[1,11],[2,13],[3,12]]; // 先排序,后调整索引 arr.sort(function(a1, a2){ return a1[1] - a2[1]; });// 调整索引 var keys = []; for (i = 0; i < arr.length; i++) keys[i] = arr[i][0]; keys.sort(function(a1, a2){ return a1 - a2; }); for (i = 0; i < arr.length; i++) arr[i][0] = keys[i]; alert(arr); </script>
<script type="text/javascript">
var arr=[[1,11],[2,13],[3,12]];
var arrtmp = arr[0];
for (i = 1; i < arr.length; i ++) arrtmp = arrtmp.concat(arr[i]); //把二维数组所有元素链接为一维数组
function sortNumber(a,b) { return a - b; }
arrtmp.sort(sortNumber); //按数值大小排序
var arr1 = new Array(), arr2 = new Array();
arr1 = arrtmp.slice(0,arrtmp.length / 2);
arr2 = arrtmp.slice(arrtmp.length / 2); //把arrtmp等分为两个数组
var arrResult = new Array();
for (i = 0; i < arr1.length; i ++) arrResult.push(Array(arr1[i],arr2[i]));
alert(arrResult);
</script>
var arr=[[1,11],[2,13],[3,12]];
// 先排序,后调整索引
arr.sort(function(a1, a2){
return a1[1] - a2[1];
});// 调整索引
var keys = [];
for (i = 0; i < arr.length; i++) keys[i] = arr[i][0];
keys.sort(function(a1, a2){
return a1 - a2;
});
for (i = 0; i < arr.length; i++) arr[i][0] = keys[i];
alert(arr);
</script>