猿问

使用 moment 按“今天”和“明天”过滤数组

我需要过滤一个数组以获取今天或明天至少有两个字段之一的项目。

在这种情况下,它是两个列表:

  1. 今天出发或到达的航班

  2. 明天出发或到达的明天航班

数据库信息包括时间,但时间与过滤器无关,只有日期相关。

数据库字段如下所示:

  • 出发日期: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')

      );

如果有人有更清洁、更合规的方式来做到这一点,我将不胜感激。


慕的地6264312
浏览 209回答 1
1回答
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答