如何在javascript中对字母数字数组进行排序
我有排序字母数组数组的问题。如何在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);
输出没有排序。它显示了警报弹出窗口和控制台日志中的相同数组。
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
这是正确的解决方案,但也请解释为什么它的工作原理(和OP的尝试没有) – Bergi 2015-02-05 15:01:14
请在这里阅读http://www.w3schools.com/jsref/jsref_sort.asp – 2015-02-05 15:03:08
最好不要使用[MDN] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort)作为参考。不过,我建议你[编辑]你的答案来合并解释:-) – Bergi 2015-02-05 15:04:35
在JavaScript排序是字符串比较默认排序。你不能从另一个字符串中减去一个字符串,这就是为什么你的比较函数不起作用。 – Pointy 2015-02-05 14:50:24
另外这与jQuery无关。 – Pointy 2015-02-05 14:51:08
jQuery是一个流行的跨浏览器JavaScript库,它有助于DOM(HTML结构)遍历,事件处理,动画和AJAX交互[...]“你的问题根本与jQuery无关。但是香草javascript。 – 2015-02-05 14:51:10