尝试按对象的开始和结束值过滤对象数组。
start = "Feb-2015"
end = "Jul-2015"
result = array.sort(2,7);
已经尝试过了,但是我有日期,我将不知道它的索引。 数组= [ { “ date”:“ 2015年1月” }, { “ date”:“ 2015年2月” }, { “ date”:“ 2015年3月” }, { “ date”:“ 2015年4月” }, {“ date”:“ 2015年5月” }, {, “ date”:“ 2015年6月” }, {“ date”:“ 2015年7月” }, { “ date”:“ 2015年8月” } ]
预期输出:-
result = [
{
"date": "Feb-2015"
},
{
"date": "Mar-2015"
},
{
"date": "Apr-2015"
},
{ "date": "May-2015"
},
{,
"date": "Jun-2015"
},
{
"date": "Jul-2015"
}
]
答案 0 :(得分:0)
在下面使用。
array = [{
"date": "Jan-2015"
},
{
"date": "Aug-2015"
},
{
"date": "Feb-2015"
},
{
"date": "Mar-2015"
},
{
"date": "Apr-2015"
},
{
"date": "May-2015"
},
{
"date": "Jun-2015"
},
{
"date": "Jul-2015"
}
];
//filter
sort = (arr, start, end) => {
let arrayFiltered = arr.filter((obj) => {
obj.dateObj = new Date(obj.date.substring(0, 3) + obj.date.substring(4, 8));
return (obj.dateObj.getMonth() + 1) >= start && (obj.dateObj.getMonth() + 1) <= end;
});
console.log(arrayFiltered.sort(obj => obj.dateObj));
};
sort(array, 2, 7);
输出
[{
"date": "Feb-2015",
"dateObj": "2015-01-31T18:30:00.000Z"
}, {
"date": "Mar-2015",
"dateObj": "2015-02-28T18:30:00.000Z"
}, {
"date": "Apr-2015",
"dateObj": "2015-03-31T18:30:00.000Z"
}, {
"date": "May-2015",
"dateObj": "2015-04-30T18:30:00.000Z"
}, {
"date": "Jun-2015",
"dateObj": "2015-05-31T18:30:00.000Z"
}, {
"date": "Jul-2015",
"dateObj": "2015-06-30T18:30:00.000Z"
}]
答案 1 :(得分:0)
const data = [{"date":"Jan-2018"},{"date":"Feb-2015"},{"date":"Mar-2015"},{"date":"Apr-2015"},{"date":"May-2015"},{"date":"Jun-2015"},{"date":"Jul-2015"},{"date":"Aug-2015"}];
console.log(data.sort((a, b) => { return new Date(a.date) - new Date(b.date)}));