Ordenar as datas

Neste desafio, ordene um array que contém uma série de datas fornecidas como strings. Cada data é fornecida no formato DD-MM-YYYY_HH:MM:

"12-02-2012_13:44"

A prioridade dos critérios usados para a ordenação será:

  • Ano
  • Mês
  • Dia
  • Horas
  • Minutos

Dado um array arr e uma string type, implemente uma função que retorne:

  • se type for igual a "ASC", o array arr ordenado em ordem crescente.
  • se type for igual a "DSC", o array arr ordenado em ordem decrescente.

Exemplos

sortDates(["10-02-2018_12:30", "10-02-2016_12:30", "10-02-2018_12:15"], "ASC") ➞ [
  "10-02-2016_12:30", "10-02-2018_12:15", "10-02-2018_12:30"
]

sortDates(["10-02-2018_12:30", "10-02-2016_12:30", "10-02-2018_12:15"], "DSC") ➞ [
  "10-02-2018_12:30", "10-02-2018_12:15", "10-02-2016_12:30"
]

sortDates(["09-02-2000_10:03", "10-02-2000_18:29", "01-01-1999_00:55"], "ASC") ➞ [
  "01-01-1999_00:55", "09-02-2000_10:03", "10-02-2000_18:29"
]

Observações

  • Lembre-se: a data está no formato DD-MM-YYYY_HH:MM.
  • Você pode esperar apenas datas com formato válido, sem exceções para tratar.