2015-02-05 250 views
-1

我有排序字母數組數組的問題。如何在javascript中對字母數字數組進行排序

分類模式的數量是第一位的,然後信

09312d27-4ddc-458e-95dd-74531f787368, 
1edcdde8-702e-4703-a505-ca81b77accdd, 
..... 

代碼:

var alphaNumericArray = ['8a337e46-7d3f-46bc-b661-579f8d25fe09', 
'09312d27-4ddc-458e-95dd-74531f787368', 
'e7c5fba1-ce59-439a-a560-8f558e7c0ac4', 
'1edcdde8-702e-4703-a505-ca81b77accdd', 
'2f66ba6c-7fd2-4d52-8ed6-b0ee6d4d0310', 
'7529217d-ee80-41eb-ade7-208674924ab9', 
'523f4f75-8d0a-4ad1-8f40-e8bc679956be', 
'80871291-c8de-47d9-9b02-3f8444c5d64e', 
'7529217d-ee80-41eb-ade7-208674924ab9']; 

alphaNumericArray.sort(function(a, b) { 
    a = a.value; 
    b = b.value; 
    return a-b; 
}); 

//console.log(alphaNumericArray); 
//alert(alphaNumericArray); 

輸出沒有排序。它顯示了警報彈出窗口和控制檯日誌中的相同數組。

+7

在JavaScript排序是字符串比較默認排序。你不能從另一個字符串中減去一個字符串,這就是爲什麼你的比較函數不起作用。 – Pointy 2015-02-05 14:50:24

+0

另外這與jQuery無關。 – Pointy 2015-02-05 14:51:08

+1

jQuery是一個流行的跨瀏覽器JavaScript庫,它有助於DOM(HTML結構)遍歷,事件處理,動畫和AJAX交互[...]「你的問題根本與jQuery無關。但是香草javascript。 – 2015-02-05 14:51:10

回答

2

var alphaNumericArray = [ 
 
    '8a337e46-7d3f-46bc-b661-579f8d25fe09', 
 
    '09312d27-4ddc-458e-95dd-74531f787368', 
 
    'e7c5fba1-ce59-439a-a560-8f558e7c0ac4', 
 
    '1edcdde8-702e-4703-a505-ca81b77accdd', 
 
    '2f66ba6c-7fd2-4d52-8ed6-b0ee6d4d0310', 
 
    '7529217d-ee80-41eb-ade7-208674924ab9', 
 
    '523f4f75-8d0a-4ad1-8f40-e8bc679956be', 
 
    '80871291-c8de-47d9-9b02-3f8444c5d64e', 
 
    '7529217d-ee80-41eb-ade7-208674924ab9' 
 
]; 
 

 
alphaNumericArray.sort(); 
 

 
document.getElementById('out').textContent = JSON.stringify(alphaNumericArray, null, 2);
<pre id="out"></pre>

結果是:

[ 
    "09312d27-4ddc-458e-95dd-74531f787368", 
    "1edcdde8-702e-4703-a505-ca81b77accdd", 
    "2f66ba6c-7fd2-4d52-8ed6-b0ee6d4d0310", 
    "523f4f75-8d0a-4ad1-8f40-e8bc679956be", 
    "7529217d-ee80-41eb-ade7-208674924ab9", 
    "7529217d-ee80-41eb-ade7-208674924ab9", 
    "80871291-c8de-47d9-9b02-3f8444c5d64e", 
    "8a337e46-7d3f-46bc-b661-579f8d25fe09", 
    "e7c5fba1-ce59-439a-a560-8f558e7c0ac4" 
] 

在這裏閱讀更多https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort

+1

這是正確的解決方案,但也請解釋爲什麼它的工作原理(和OP的嘗試沒有) – Bergi 2015-02-05 15:01:14

+0

請在這裏閱讀http://www.w3schools.com/jsref/jsref_sort.asp – 2015-02-05 15:03:08

+1

最好不要使用[MDN] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort)作爲參考。不過,我建議你[編輯]你的答案來合併解釋:-) – Bergi 2015-02-05 15:04:35

相關問題