【发布时间】:2014-11-07 10:30:00
【问题描述】:
我想在 JavaScript 中将数组排序为 asc。使用排序方法后,结果如下。
[ '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中实现呢?以前有人完成过这个任务吗?比较器功能真的很感激。
【问题讨论】:
-
为什么这是反对票,答案是赞成票。不明白,写一个新函数不是问题的答案。
-
@T.J.Crowder 他指定的顺序实际上是 C# Array.Sort 给出的。
-
你注意到A是一个单一的字符了吗?我猜想所以 C# 在它的 sort 方法中有特殊的操作。假设 C# 排序是一个预期的结果,现在我想使用 JavaScript 来匹配它。
-
这里是 ideone.com...ideone.com/ZLKC8M 看起来 C# 对字符串进行了多次排序,逐个遍历字符,例如OrderBy([0]).ThenBy([1]).ThenBy([2]) 等等
-
@Damon 我删除了关于基于反编译的 C# 代码编写自己的 JavaScript 函数的问题。 C# 使用 InternalCompareString Windows API 函数,条件太多...编写自己的 C# 委托函数进行排序比研究 InternalCompareString Windows API 的实现更容易。
标签: c# javascript arrays sorting