我有这个json:
module.exports = [
{
"date": "01-2012"
},
{
"date": "12-2011"
},
{
"date": "01-2014"
},
{
"date": "08-2015"
}
];
我希望按日期排序,但问题是这不是有效格式(MM-YYYY),这可能吗?有人可以帮我一把吗?
感谢。
答案 0 :(得分:2)
是的,这是可能的!要对该数组进行排序,您可以使用数组的sort方法向其传递要用于对其进行排序的回调。
在您的示例中,您可以执行以下操作:
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/,包括解决方案。
我希望它有所帮助。