created_at
是我想与beginDate
和endDate
比较的值。
var newARRA = chain(this.props.transferts.transfertAccount)
.filter({ 'officeSender':
this.props.users.user.office,officeReceiver:this.state.selectedOffice,
'created_at':(this.state.beginDate,this.state.endDate)})
.groupBy("currency")
.map((v, k) => ({
currency: k,
amount: sumBy(v, 'fee')
}))
.value();
答案 0 :(得分:1)
您需要使用filter's predicate function。示例(未经测试):
var newARRA = chain(this.props.transferts.transfertAccount)
.filter(({ officeSender, officeReceiver, created_at }) => {
return _.eq(officeSender, this.props.users.user.office) &&
_.eq(officeReceiver, this.state.selectedOffice) &&
_.gte(created_at, this.state.beginDate) &&
_.lte(created_at, this.state.endDate) &&
})
.groupBy("currency")
.map((v, k) => ({
currency: k,
amount: sumBy(v, 'fee')
}))
.value();
答案 1 :(得分:0)
您可以使用矩量库为您实现这一目标,假设这两个值是类似于日期的矩:
'created_at': moment().isBetween(this.state.beginDate, this.state.endDate)
这确实假定日期与时刻类似,并且不需要时刻库进行任何预处理。
答案 2 :(得分:0)
我更喜欢使用日期库。 > date-fns可以为您做到这一点
var isWithinRange = require('date-fns/is_within_range')
isWithinRange(
new Date(2014, 0, 3), new Date(2014, 0, 1), new Date(2014, 0, 7)
)//=> true