我需要对一个看起来像这样的数组进行排序:
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 />
我将如何按数字和降序对其进行排序?
提前致谢!
我需要对一个看起来像这样的数组进行排序:
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 />
我将如何按数字和降序对其进行排序?
提前致谢!
只需使用array.sort()
. 它会按字母顺序排序,但只要您的数字具有相同的位数就可以了。
尽管.sort()
默认情况下会进行字母数字排序,但对于您的数据,它将以数字方式工作,因为您的数组元素都以数字开头,这些数字遵循具有相同位数的严格日期/时间格式。.sort()
会升序排序。您可以提供自己的比较函数来降序排序,或者您可以反转结果:
array.sort().reverse()
有关如何.sort()
工作的更多信息,例如,提供您自己的比较功能,请查看文档。
您只需要在您的数组上调用sort :
array.sort();
var arr = array.sort(function(a,b){ return a.split(' ')[0] < b.split(' ')[0]})