date不是有效格式时按datesortingjson

我有这个json:

module.exports = [ { "date": "01-2012" }, { "date": "12-2011" }, { "date": "01-2014" }, { "date": "08-2015" } ]; 

而我想按datesorting,但问题是,这是不是一个有效的格式(MM-YYYY),这是可能的? 有人能帮我一把吗?

谢谢。

是的,这是可能的! 要对数组进行sorting,可以使用数组的sorting方法,向其传递要用来对其进行sorting的callback函数。

在你的例子中,你可以做到以下几点:

 function parseMyDate( date_value ) { return new Date( date_value.replace(/([0-9]{1,2})\-([0-9]{4})/, "$2-$1-01") ); } module.exports.sort(function(a, b) { return parseMyDate( a.date ) - parseMyDate( b.date ); }); 

在这里你有一个运行的例子https://jsfiddle.net/un79c12m/包括解决scheme。

我希望它有帮助。