Sorting 如何使用lodash按日期字段对对象进行排序?
我有一个JavaScript对象:Sorting 如何使用lodash按日期字段对对象进行排序?,sorting,date,datetime,dictionary,lodash,Sorting,Date,Datetime,Dictionary,Lodash,我有一个JavaScript对象: var items = [ { name: "order 2", date: "2020-02-01T13:50:04.869Z", }, { name: "order 3", date: "2020-03-01T13:50:04.869Z", }, { name: "order 1", date: "2020-01-01T13:50:04.869Z", }, ]; 我想得到数组
var items = [
{
name: "order 2",
date: "2020-02-01T13:50:04.869Z",
},
{
name: "order 3",
date: "2020-03-01T13:50:04.869Z",
},
{
name: "order 1",
date: "2020-01-01T13:50:04.869Z",
},
];
我想得到数组[order 1,order 2,order 3],其中的名称是按日期排序的
到目前为止,我尝试使用lodash:
这是对项目进行排序,但我的日期被识别为字符串,而不是日期时间
如何按日期对其进行排序?您可以尝试:
可变项目=[
{
名称:订单2,
日期:2020-02-01T13:50:04.869Z,
},
{
姓名:第3号令,
日期:2020-03-01T13:50:04.869Z,
},
{
名称:订单1,
日期:2020-01-01T13:50:04.869Z,
},
];
var name=items.sort函数comparea,b{
var dateA=新的dateA.date;
var dateB=新的dateB.date;
返回日期a-日期b;
}.mapv=>v.name;
console.logname 解析u.sortBy iteratee函数中的日期,并将u.map的iteratee设置为name:
变量项=[{名称:订单2,日期:2020-02-01T13:50:04.869Z},{名称:订单3,日期:2020-03-01T13:50:04.869Z},{名称:订单1,日期:2020-01-01T13:50:04.869Z}];
变量数组=\ u0.map
_.sortByitems,o=>Date.parseo.Date,
“姓名”
;
console.logarray;
这回答了你的问题吗?你好请考虑添加一个代码如何工作的解释,以指导他人。
var array = _.map(
_.sortBy(items, function(el) { return el.date; }),
function(el) { return el.name; }
);