Динамически создавать интервалы из набора дат - PullRequest
0 голосов
/ 02 мая 2020

Если вы получаете списки дат, используя ajax, как вы можете динамически создавать интервалы дат из него? Допустим, например, ваш список:

var arrdates=['01/02/2014','06/05/2014','24/09/2014','05/06/2018','26/09/2019','27/09/2019','28/12/2019'];

И вы хотели бы получить результат, который выглядит следующим образом:

console.log("Date intervals are 01/02/2014-24/09/2014 and 05/06/2018 and 26/09/2019-28/12/2019");

Возможно ли что-то подобное даже так?

1 Ответ

0 голосов
/ 02 мая 2020

Вот как ты мог это сделать.

var arrdates=['01/02/2014','06/05/2014','24/09/2014','05/06/2018','26/09/2019','27/09/2019','28/12/2019'];
let yearsMap = new Map();
arrdates.forEach(e=>{
  let y = (new Date(e.split("/").reverse().join("-")/*convert to ISO date string*/)).getFullYear();
  let current = yearsMap.get(y);
  yearsMap.set(y, current ? [...current,e] : [e]);
})
let years = [...yearsMap.values()].map(e=>e.join("-")); //might want to sort the dates before joining
console.log(years);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...