【发布时间】:2015-10-14 05:01:27
【问题描述】:
我正在尝试将一组名称按从小到大的顺序进行排序。不幸的是,JavaScript 的 .sort() 不起作用,因为它包含下划线和字母。
我有这个代码:
var array = new Array("S1_FORM", "S2_FORM", "S3_2_FORM", "S3_FORM", "S3_3_FORM", "S4_FORM");
var SortedArray = array.sort();
这应该像这样排序:
S1_FORM, S2_FORM, S3_FORM, S3_2_FORM, S3_3_FORM, S4_FORM
这是jsdfiddle:
【问题讨论】:
-
我不确定你想要什么排序规则。 3_2 代表 3.2 吗?会有3_10吗?会在 3_1 之前或之后订购吗?
-
不,剥离
_无济于事。相反,您似乎希望在字母 (F) 之后对数字 (2,3) 进行排序。看看Sort Array Elements (string with numbers), natural sort,你会如何做到这一点。 -
是的,我只想根据数字进行排序。 1、2、3、3_2、3_3
-
@Bergi 是的,我只是注意到剥离 _ 只会让情况变得更糟。它更像是 3、3.1、3.2 等。
标签: javascript arrays sorting