0

我需要对一个看起来像这样的数组进行排序:

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

4 回答 4

3

只需使用array.sort(). 它会按字母顺序排序,但只要您的数字具有相同的位数就可以了。

于 2012-06-04T23:48:35.497 回答
2

尽管.sort()默认情况下会进行字母数字排序,但对于您的数据,它将以数字方式工作,因为您的数组元素都以数字开头,这些数字遵循具有相同位数的严格日期/时间格式。.sort()升序排序。您可以提供自己的比较函数来降序排序,或者您可以反转结果:

array.sort().reverse()

有关如何.sort()工作的更多信息,例如,提供您自己的比较功能,请查看文档

于 2012-06-05T00:38:53.700 回答
1

您只需要在您的数组上调用sort :

array.sort();
于 2012-06-04T23:48:52.907 回答
0
var arr = array.sort(function(a,b){ return a.split(' ')[0] < b.split(' ')[0]})
于 2012-06-05T02:21:43.560 回答