给定以下对象数组,我需要按日期字段升序排序它们。
var myArray = [
{
name: "Joe Blow",
date: "Mon Oct 31 2016 00:00:00 GMT-0700 (PDT)"
},
{
name: "Sam Snead",
date: "Sun Oct 30 2016 00:00:00 GMT-0700 (PDT)"
},
{
name: "John Smith",
date: "Sat Oct 29 2016 00:00:00 GMT-0700 (PDT)"
}
];
在上面的示例中,最终结果将是John Smith、Sam Snead和Joe Blow。
我正在尝试使用lodash的_.sortBy(),但无论如何我都无法进行任何排序:
_.sortBy(myArray, function(dateObj) {
return dateObj.date;
});
或者_.sortBy(myArray, 'date');
我需要改变什么才能正确地对数组进行排序?我也有Moment.js,所以如果需要的话可以使用它来格式化日期字符串。我尝试使用.unix()
转换日期属性,但没有任何效果。
谢谢。
_.sortBy
似乎不会原地排序(不像 Array#sort 方法) - Jaromanda X_.sortBy(myArray, ['date'])
应该可以实现排序。对于日期格式为'2018-08-28T17:38:00'
的情况,它可以正常工作。 - Chaki_Black