如何在javascript中对日期数组进行排序

Rak*_*mar 1 javascript arrays sorting

我有以下数组日期,我想按加入顺序排序.我试过但没有得到积极的结果.

var arr = [ [ '02/13/2015', 0.096 ],
  [ '11/15/2013', 0.189 ],
  [ '05/15/2014', 0.11 ],
  [ '12/13/2013', 0.1285 ],
  [ '01/15/2013', 0.12 ],
  [ '01/15/2014', 0.11 ],
  [ '02/14/2014', 0.11 ],
  [ '03/14/2014', 0.11 ],
  [ '01/15/2015', 0.096 ],
  [ '07/15/2015', 0.096 ],
  [ '04/15/2013', 0.12 ],
  [ '04/15/2014', 0.11 ],
  [ '05/15/2013', 0.12 ],
  [ '06/14/2013', 0.12 ],
  [ '06/16/2014', 0.11 ],
  [ '07/15/2013', 0.12 ],
  [ '07/15/2014', 0.11 ],
  [ '03/16/2015', 0.096 ]]
Run Code Online (Sandbox Code Playgroud)

我的守则

arr.sort(function(a,b){
  return new Date(a[0][0]) - new Date(b[0][0]);
});
Run Code Online (Sandbox Code Playgroud)

the*_*eye 7

您将获取日期字符串中的第一个字符,将它们转换为Date实例并使用它们进行比较.

但是,您应该实际使用Date字符串,将它们转换为Date实例并进行比较.

arr.sort(function (a, b) {
  return new Date(a[0]) - new Date(b[0]);
});
Run Code Online (Sandbox Code Playgroud)

产量

[ [ '01/15/2013', 0.12 ],
  [ '04/15/2013', 0.12 ],
  [ '05/15/2013', 0.12 ],
  [ '06/14/2013', 0.12 ],
  [ '07/15/2013', 0.12 ],
  [ '11/15/2013', 0.189 ],
  [ '12/13/2013', 0.1285 ],
  [ '01/15/2014', 0.11 ],
  [ '02/14/2014', 0.11 ],
  [ '03/14/2014', 0.11 ],
  [ '04/15/2014', 0.11 ],
  [ '05/15/2014', 0.11 ],
  [ '06/16/2014', 0.11 ],
  [ '07/15/2014', 0.11 ],
  [ '01/15/2015', 0.096 ],
  [ '02/13/2015', 0.096 ],
  [ '03/16/2015', 0.096 ],
  [ '07/15/2015', 0.096 ] ]
Run Code Online (Sandbox Code Playgroud)