用于数字和字母数字字符串的JavaScript数组排序函数

时间:2012-06-04 23:45:15

标签: javascript arrays string sorting

我需要对这样的数组进行排序:

var array = new Array();<br />
array[0]="201206031245 firstitem";<br />
array[1]="201206020800 seconditem";<br />
array[2]="201206040604 itemthree";<br />
array[3]="201206031345 lastitem";<br />

我如何按数字排序并降序?

提前致谢!

4 个答案:

答案 0 :(得分:3)

只需使用array.sort()即可。它将按字母顺序排序,但只要您的数字具有完全相同的数字位数。

答案 1 :(得分:2)

虽然.sort()默认情况下会进行字母数字排序,但对于您的数据,它会以数字方式工作,因为您的数组元素都以符合严格日期/时间格式且数字位数相同的数字开头。 .sort()会排序升序。您可以提供自己的比较功能来排序降序,或者您可以反转结果:

array.sort().reverse()

有关.sort()如何运作的详细信息,例如,要提供自己的比较功能,请查看the documentation

答案 2 :(得分:1)

您只需在数组上调用sort

array.sort();

答案 3 :(得分:0)

var arr = array.sort(function(a,b){ return a.split(' ')[0] < b.split(' ')[0]})