Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Sugestão de resolução

O new Date() permite receber como parâmetro um array contendo [ano, mês, dia]. Desta forma a contagem de meses vai de 1 a 12, não tendo a necessidade de realizar o decremento do mês.

let dataString = '17-05-2016';
dataString = dataString.split('-');
dataString = [dataString[2], dataString[1], dataString[0]];
let novaData = new Date(dataString);

OU

let dataString = '17-05-2016';
dataString = dataString.split('-');
let novaData = new Date( [dataString[2], dataString[1], dataString[0]]);

OU

let dataString = '17-05-2016';
let novaData = new Date(dataString.split('-').reverse());

Acho que seria interessante adicionar isso na descrição da aula (15 - "Isso" não encaixa em um "Date"? Se vira!) já que simplifica o código.

1 resposta
solução!

Fala ai Mayki, tudo bem? É como eu gosto de dizer:

Na maioria das vezes vai haver mais de uma solução para dado um problema.

Nesse caso, poderíamos fazer de N maneiras essa funcionalidade. No caso do curso, a que o instrutor escolheu fazer foi:

new Date(...texto.split('-').map((item,indice) => item - indice % 2));

Espero ter ajudado.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software