![](/img/trans.png)
[英]Filter list of strings if a keyword matches in another list using Ramda
[英]Filter list of dates with same days in common using ramda
我有兩個日期列表。 我想留下一個列表,其中僅包含兩個列表共有的日子。 為此,我正在考慮使用filter
和any
來比較兩者。
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.