2015-02-05 273 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

相关问题