我有一个像这样的 JSON 对象数组:[{ id: "1" times:{ start: '2018-05-09T06:05:28.144Z', end: '2018-05-09T06:10:21.564Z' },},{ id: "2" times:{ start: '2018-06-09T06:10:25.144Z', end: '2018-06-09T06:20:20.564Z' },}]我想编写一个函数,它只返回“开始”和“结束”时间戳之间的总分钟数在特定范围内的对象。示例:返回“开始”和“结束”时间戳之间的总分钟数在 3 到 5 分钟范围内的所有对象。在此先感谢您的帮助。
1 回答
狐的传说
TA贡献1804条经验 获得超3个赞
应该是这样:
var timeArray = [{
id: "1",
times: {
start: '2018-05-09T06:06:21.564Z',
end: '2018-05-09T06:10:21.564Z'
}
},
{
id: "2",
times: {
start: '2018-06-09T06:10:25.144Z',
end: '2018-06-09T06:20:20.564Z'
}
}
]
function inRange(arr) {
const max = 5 // 5 minutes
const min = 3 // 3 minutes
const filteredArray = arr.filter((obj) => {
const range = (new Date(obj.times.end) - new Date(obj.times.start)) / 60000 // in minutes
return range > min && range < max ? obj : ''
})
return filteredArray
}
console.log(inRange(timeArray))
添加回答
举报
0/150
提交
取消