在以前的版本中,我们只是通过 a.toLowerCase() < b.toLowerCase() 进行比较?-1:1,并且在比较不区分大小写的名称时,这似乎很有效。这种简单方法的唯一问题是它不能正确地对编号名称进行排序。例如“2name”应该在“10name”之前,但它会先排序“10name”,因为第一个字符“1”在“2”之前。
但它在datatables.js和 tinyfilemanager 中运行良好......?
它在这些脚本中“起作用”只是因为它们使用与上述相同的简单排序方法。它不会“自然地”对编号名称进行排序。
在下一个版本中,我将为排序机制添加一些新选项。例如,您可以恢复到之前使用的基本排序,虽然它不理解编号名称“2foldername”<“10foldername”的逻辑,但它大部分都有效。
除非有人可以向我展示,否则似乎没有一个 Javascript 代码可以“自然”排序,不区分大小写,在所有操作系统/设备上使用混合字符集,而没有特定于字符/语言的设置。