【发布时间】:2018-12-06 06:30:39
【问题描述】:
我有一个数组,我想从今天开始根据一年(仅过去一年)过滤掉结果。我有 lodash 和 momentjs 供我使用,所以想象一下使用它们来帮助实现我的目标。如下所示,我只想在去年使用 .gameScore 和 .reportDate。
我的数组看起来像这样......(所以它应该只返回第一个对象作为它在今年迄今为止的范围内)
0:{gameScore: "1", reportDate: "2018-05-09"}
1:{gameScore: "3", reportDate: "2017-06-12"}
我正在对过滤器之后的数据做其他事情:
var result = _(observations)
.omitBy(x => x.gameScore === "NULL")
.map(observation => ({ ...observation, value: SCORES[observation.gameScore] }))
.value();
感谢任何帮助。谢谢
【问题讨论】:
-
你的意思是只过滤今年的日期?
-
从今天开始的一年,例如 27/06/2018 到 27/06/2017
-
问题始于将日期作为字符串。如果它们是时间戳或 ISO 日期,您可以简单地使用带有给定最小值和最大值的 array.filter()。
-
@TomRudge你可以通过分别比较
years、months然后days来做到这一点,只保留去年的那些。查看my answer了解更多详情。
标签: javascript arrays date momentjs lodash