【发布时间】:2019-06-25 21:14:03
【问题描述】:
我在箭头函数和按日期值过滤对象数组时遇到了一些问题。
我尝试过滤它,但它返回完整的数组,并且没有正常工作。
最后我必须返回项目 - 数组中过期日期大于今天的对象。一定是箭头函数
const menuItems = [{
name: 'Hamburger',
expirationDate: '09-24-2019'
},
{
name: 'Chicken',
expirationDate: '10-03-2019'
},
{
name: 'Hot-Dog',
expirationDate: '03-24-2019'
},
];
let today = new Date();
let dd = today.getDate();
let mm = today.getMonth();
let yyyy = today.getFullYear();
if (dd < 10) {
dd = '0' + dd;
}
if (mm < 10) {
mm = '0' + mm;
}
today = mm + '-' + dd + '-' + yyyy;
console.log(today);
const filterByExpiration = (items) => {
menuItems.filter(function() {
return items.expirationDate > today;
})
};
【问题讨论】:
-
您正在比较字符串并期望 JS 引擎理解您希望它们被视为日期对象。考虑使用库进行这些类型的比较:date-fns.org/v1.9.0/docs/isAfter
标签: javascript arrays date object ecmascript-6