簡體   English   中英

使用ramda過濾具有相同日期的日期列表

[英]Filter list of dates with same days in common using ramda

我有兩個日期列表。 我想留下一個列表,其中僅包含兩個列表共有的日子。 為此,我正在考慮使用filterany來比較兩者。

const dates = [
  "2019-05-19T09:00:00.000Z",
  "2019-05-20T17:00:00.000Z",
  "2019-05-21T17:00:00.000Z"
]

const datesToCompare = [
  "2019-05-21T17:00:00.000Z"
]

// when filtered should leave us with:
[
  "2019-05-21T17:00:00.000Z"
]

對於每個項目,我需要使用date-fns isSameDay的謂詞函數isSameDay (顧名思義,它比較兩個日期並說它們是否在同一天)。

您可以使用innerJoin

取謂詞pred,列表xs和列表ys,並根據pred返回包含xs的每個元素的列表xs',這些元素等於ys的一個或多個元素。

R.innerJoin(dateFns.isSameDay, dates, datesToCompare);

例:

 const dates = [ "2019-05-19T09:00:00.000Z", "2019-05-20T17:00:00.000Z", "2019-05-21T17:00:00.000Z" ] const datesToCompare = [ "2019-05-21T17:00:00.000Z" ] console.log( R.innerJoin(dateFns.isSameDay, dates, datesToCompare) ) 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/date-fns/1.29.0/date_fns.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/ramda/0.26.1/ramda.js"></script> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM