我想像这样对数组进行排序:
["AAAA1", "AAAA3", "ABAA2", "AAAA10", "AAAA100", "BBB2", "BBB10", "BBAA3", "BBB2AA"]
当我对其进行排序时,返回给我:
["AAAA1", "AAAA10", "AAAA100", "AAAA3", "ABAA2", "BBAA3", "BBB10", "BBB2", "BBB2AA"]
我喜欢这样排序:
["AAAA1", "AAAA3", "AAAA10", "AAAA100", "ABAA2", "BBAA3", "BBB2", "BBB2AA", "BBB10"]
所以我在stackoverflow中搜索了它,我在链接下找到了类似的东西,但所有这些都没有排序字符和数字字符串的通用方法,只适用于特殊问题!
javascript:使用整数和字符以某种方式对数组进行排序
编辑1:
请检查包含数字的排序 JavaScript 字符串数组中的问题答案,答案适用于格式为 var 的文本,regex = /Value\s([0-9]+)/;
或者在排序混合字母/数字数组中,答案仅适用于字符串开头的一个字符。我需要一些方法适用于所有可能包含字符和数字的字符串......!
编辑2:
坦克斯菲利克斯克林:
很抱歉,我在示例中的排列顺序错误,所以我喜欢在 BBB10 之前订购 BBB2AA
我找到了添加前导零的一般方法,我现在写了一个版本,请优化它或给我另一个排序选项,如http://jsfiddle.net/Qd8nd/