我需要对这样的数组进行排序:
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 />
我如何按数字排序并降序?
提前致谢!
答案 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]})