为了账号安全,请及时绑定邮箱和手机立即绑定

过滤 JSON 对象 Javascript/Node.js 的函数

过滤 JSON 对象 Javascript/Node.js 的函数

慕尼黑5688855 2021-09-17 13:45:31
我有一个像这样的 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))


查看完整回答
反对 回复 2021-09-17
  • 1 回答
  • 0 关注
  • 177 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信