2012-04-19 31 views
2

我想通過它來訂購數組的數組排序數組的數組的第2個指數,所以如果我有這樣的:如何通過指數在JavaScript

a[0][0] = # 
a[0][1] = $ 
a[1][0] = x 
a[1][1] = y 
a[1][2] = z 
a[2][0] = qaz 
a[2][1] = qwerty 

我得到:

a[0][0] = # 
a[1][0] = x 
a[2][0] = qaz 
a[0][1] = $ 
a[1][1] = y 
a[2][1] = qwerty 
a[1][2] = z 

在此先感謝!

+1

你知道'sort()'函數嗎? – 2012-04-19 16:39:16

+7

好的,你有什麼嘗試?本網站不適合其他人爲您編寫所有代碼。 – Jordan 2012-04-19 16:39:22

+1

我知道排序函數,但不是按值而不是按索引排序? – linker85 2012-04-19 16:40:54

回答

3

這將按要求的順序顯示元素。

var a = [["#", "$"], ["x", "y", "z"], ["qaz", "qwerty"]] 
var maxLen = 0; 
for (var i = 0; i < a.length; i++) 
{ 
    maxLen = Math.max(maxLen, a[i].length); 
} 
for (var y = 0; y < maxLen; y++) 
{ 
    for (var x = 0; x < a.length; x++) 
    { 
     if (y < a[x].length) 
     { 
      alert(a[x][y]); // You could use document.write() etc. 
     } 
    } 
} 

你沒有說你打算如何處理數組元素,但是這個一般的想法可以按順序顯示或打印它們。

+0

您也可以使用這種技術將元素插入到一個新的數組中,該數組將保留您需要的排序順序。 – mafue 2012-04-19 17:01:51

+0

感謝那正是我期待的。 :) – linker85 2012-04-19 17:01:56