猿问

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

我有一个像这样的 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 分钟范围内的所有对象。


在此先感谢您的帮助。


慕尼黑5688855
浏览 178回答 1
1回答

狐的传说

应该是这样:var timeArray = [{&nbsp; &nbsp; id: "1",&nbsp; &nbsp; times: {&nbsp; &nbsp; &nbsp; start: '2018-05-09T06:06:21.564Z',&nbsp; &nbsp; &nbsp; end: '2018-05-09T06:10:21.564Z'&nbsp; &nbsp; }&nbsp; },&nbsp; {&nbsp; &nbsp; id: "2",&nbsp; &nbsp; times: {&nbsp; &nbsp; &nbsp; start: '2018-06-09T06:10:25.144Z',&nbsp; &nbsp; &nbsp; end: '2018-06-09T06:20:20.564Z'&nbsp; &nbsp; }&nbsp; }]function inRange(arr) {&nbsp; const max = 5&nbsp; &nbsp;// 5 minutes&nbsp; const min = 3&nbsp; &nbsp;// 3 minutes&nbsp; const filteredArray = arr.filter((obj) => {&nbsp; const range = (new Date(obj.times.end) - new Date(obj.times.start)) / 60000 // in minutes&nbsp; &nbsp;return range > min && range < max ? obj : ''&nbsp; })&nbsp; return filteredArray}console.log(inRange(timeArray))
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答