【发布时间】:2020-08-05 02:59:29
【问题描述】:
我目前正在使用此逻辑来过滤掉某个日期范围内的对象数组,并获取该范围内对象的总数。
const extractInRange = function (range, payload) {
const start = new Date(range.startDate)
const end = new Date(range.endDate)
let dateRangeCount = 0
payload.filter(item => {
let date = new Date(item.createDate)
if (date >= start && date <= end) {
dateRangeCount++
}
})
return dateRangeCount
}
我想专门用 reduce 替换我的 filter 逻辑,但我不确定应该如何进行。
我确实知道如何在数组上使用 reduce,但是添加 start 和 end 给我带来了一些问题。
【问题讨论】:
-
Reduce 将您之前返回的内容传递给下一次迭代,因此要么返回 prev+1 要么只返回 prev .reduce((a,b)=>a+withinRange(b),0)
标签: javascript ecmascript-6 reduce