我想在JavaScript中将数组排序为asc。使用sort方法后,结果如下所示。
[ '123, '12', '1A1', '1A', '1a', 'A1', 'A2', 'AB', 'A', 'Ab', 'a1', 'a2', 'aB', 'ab' ]
当我使用C#排序Array.Sort()
时,结果如下所示。
{ "12", "123", "1a", "1A", "1A1", "A", "a1", "A1", "a2", "A2", "ab", "aB", "Ab", "AB" }
实际上C#排序方式是我想要的,那么如何在JavaScript中实现呢?有没有人以前完成过这个任务?比较器功能真的很受欢迎。
答案 0 :(得分:1)
Array.prototype.sort
默认使用字符串比较。您似乎想比较不区分大小写 - 您可以传入使用toLowerCase
的比较器函数(但要注意与.toLocaleLowerCase
的区别!):
a.sort(function(a, b) {
a = a.toLowerCase(); b = b.toLowerCase();
return a > b ? 1 : a < b ? -1 : 0;
});