Как получить StartDate и EndData между массивом дат - PullRequest
0 голосов
/ 24 января 2019

У меня есть массив дат массив может быть очень большим, около 10000 объектов как

[{"date":"2019-01-23T11:01:50.719Z","lat":28.591072559026497,"lng":77.32183123723946},{"date":"2019-01-23T11:01:58.313Z","lat":28.591143596331815,"lng":77.32190503671627},{"date":"2019-01-23T11:04:13.272Z","lat":28.59104724711076,"lng":77.32189079414962},{"date":"2019-01-23T11:07:21.256Z","lat":28.591160550128887,"lng":77.32204036332226}]

Я пытаюсь отфильтровать большой массив по дате между датой начала и окончания . Так как одна дата имеет много даты со временем. Вроде как

22/01/19 11:00, 22/01/19 12:00,22/01/19 1:00,22/01/19 2:00........... 24/01/19 1:00, 24/01/19 2:00,24/01/19 3:00 .......... 25/01/19 1:00

Предположим, моя дата начала 22.01.19, а дата окончания 24.01.19. Таким образом, массив будет начинаться с 22 января 19:00 (максимальное время) до 24 января 19:00. Я пытаюсь создать логику, но не могу это сделать. Пожалуйста, помогите мне, пожалуйста.

Ответы [ 2 ]

0 голосов
/ 24 января 2019

Здесь.На самом деле однострочный процесс фильтрации сам по себе.

const data = [{
  "date": "2019-01-23T11:01:50.719Z",
  "lat": 28.591072559026497,
  "lng": 77.32183123723946
}, {
  "date": "2019-01-22T11:01:58.313Z",
  "lat": 28.591143596331815,
  "lng": 77.32190503671627
}, {
  "date": "2019-01-24T11:04:13.272Z",
  "lat": 28.59104724711076,
  "lng": 77.32189079414962
}, {
  "date": "2019-01-25T11:07:21.256Z",
  "lat": 28.591160550128887,
  "lng": 77.32204036332226
}]

let startDate = new Date("2019-01-22T02:00:00")
let endDate = new Date("2019-01-24T03:00:00")
let result = data.filter(d => new Date(d.date) >= startDate && new Date(d.date) <= endDate)
console.log(result)
0 голосов
/ 24 января 2019

вы можете использовать filter для фильтрации данных и сравнения данных, используя момент, например:

const filteredDates = dates.filter(date => {
 const date = moment(date)
 const start = moment(start);
 const end = moment(end);
 if(date > start && date < end){
  return true;
 }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...