我需要过滤一个数组以获取今天或明天至少有两个字段之一的项目。
在这种情况下,它是两个列表:
今天出发或到达的航班
明天出发或到达的明天航班
数据库信息包括时间,但时间与过滤器无关,只有日期相关。
数据库字段如下所示:
出发日期:1564011360000
到达日期:1564026420000
我已经使用以下糟糕的代码和大量的“非混合运算符”警告在某种程度上起作用了。虽然结果是正确的。
const flightsToday =
_flights &&
_flights.filter(
_flights =>
_flights.arrival_date < moment().endOf('day') && _flights.arrival_date > moment().startOf('day') ||
_flights.departure_date < moment().endOf('day') && _flights.departure_date > moment().startOf('day')
);
const flightsTomorrow =
_flights &&
_flights.filter(
_flights =>
_flights.arrival_date < moment().endOf('day').add(1, 'day') && _flights.arrival_date > moment().startOf('day').add(1, 'day') ||
_flights.departure_date < moment().endOf('day').add(1, 'day') && _flights.departure_date > moment().startOf('day').add(1, 'day')
);
如果有人有更清洁、更合规的方式来做到这一点,我将不胜感激。
相关分类