【问题标题】:How to return dates where task end_date is true in javascript如何在javascript中返回任务end_date为真的日期
【发布时间】:2020-12-06 08:31:26
【问题描述】:

我想返回的不是一个日期,而是所有已结束的任务。

假设我的 end_date 任务是

  • 一月。 30 2020

  • 一月。 30 2017

  • 一月。 30 1987

到目前为止,下面的代码只返回

  • 一月。 30 2020

我的代码是

const CalTaskHasEnded = Task => {
      return new Date(task.end_date).getDay() === new Date().getDay();
   };

但这只会返回任务结束日期列表中的一个日期。

如何编写此代码以能够返回所有已获得其 end_date 的任务。即已结束的任务。

【问题讨论】:

  • 请出示对象。单击编辑,然后单击[<>] sn-p 编辑器并生成minimal reproducible example - 您可能打算使用过滤器
  • 另外,为什么只测试当天?,一旦成功过滤,也会返回结束日期 2021 年 1 月 30 日
  • 嗨 mplungjan 感谢您的评论,我认为现在的主要问题是我在这里给出的代码行如何从后端的日期列表中只返回一个日期。你的意思是我没有提供足够的信息? end_date 的访问方式来自 task.end_date 。
  • 您现在也没有测试结束日期是否正确 - 您正在比较天数

标签: javascript date datetime javascript-objects dayofweek


【解决方案1】:

您可以查看之前的日期或不查看日期

const CalTaskHasEnded = (task:Task ) => {
      return new Date(task.end_date).getTime() <= new Date().getTime();
   };
 
 let tasks = [{
    end_date:'Jan. 30 2020'
},{
    end_date:'Jan. 30 2017'
},
{
    end_date:'Jan. 30 1987'
},
{
    end_date:'Jan. 30 2027'
}]

console.log(tasks.filter(CalTaskHasEnded));

【讨论】:

    【解决方案2】:

    感谢 RamiReddy 抽出宝贵时间,我已经解决了这个问题

    const calTaskHasEnded = Task => {
        if (task.has_ended){
           return new Date().getDay();
           }
        };
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-05-18
      • 2012-11-25
      • 2018-09-28
      • 1970-01-01
      • 2012-06-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多