javascript - 根据日期消除数组条目

标签 javascript

我有一组类似这样的数据:

var items  = [
  { id: 84, "completedDate":"2019-01-26T17:45:07.895Z" },
  { id: 92, "completedDate":"2019-02-26T17:45:07.895Z" }, 
  { id: 123, "completedDate":"2019-03-26T17:45:07.895Z" }, 
  { id: 2353, "completedDate":"2019-04-26T17:45:07.895Z" }
];

我想返回一个只有不到 30 天的对象的数组。

我试过过滤

var filtered = items.filter(function(item) { 
  return moment(item.completedDate) > moment.subtract(30, 'days');  
});

这是我需要做的,还是有更好的方法?

最佳答案

您不需要 moment 来比较日期:

const compareDate = new Date();
compareDate.setDate(compareDate.getDate() - 30);

const filtered = items.filter(item => new Date(item.completedDate) > compareDate);

关于javascript - 根据日期消除数组条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56027506/

相关文章:

javascript - 为什么 Firebase 事件 'child_added' 在 'value' 事件之后触发?

javascript - 使 P 标签忽略父 Div

javascript - Python - 使用 selenium 的 javascript 网页抓取无法正常工作

数组中 'in' 元素的 JavaScript `undefined` 运算符

javascript - 单击另一个 <a> 时给出 "selected"类,然后如果它是相同的 <a> 则删除该类

javascript - Angular - 全局变量初始化一次 - 页面标题中的示例用户名

javascript - 调用对象内部的内部函数

javascript - 隐藏所有包含元素的div

javascript - 如何使用 Node.js 更改 Google Cloud Storage 中的文件元数据

javascript - Firebase 填充嵌套值