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

Duvida em | return item - indice % 2;

Boa tarde, estou com um pouoco de duvida nesse finalzinho do codigo, como é feito a conta de 'sobra' ? não entendi muito bem essa logica.

        let data = new Date(...
            this._inputData.value
            .split('-')
            .map( function (item,indice) {
                    return item - indice % 2 
            }))
1 resposta
solução!

Oi Rodolpho, tudo bem?

Desculpe a demora em retornar.

A lógica por trás da conta de sobra é simplesmente subtrair o índice atual do item (mês ou dia) por 0 ou 1, dependendo se o índice é par ou ímpar.

O método .map() é usado para iterar sobre cada elemento do array retornado após a execução do método .split(), que divide a string em substrings usando o separador informado (no caso, "-") e retorna um array com as substrings.

Dentro da função de callback do .map(), a variável item representa cada substring do array e indice representa o índice correspondente a cada substring no array.

A expressão indice % 2 é usada para determinar se o índice é par ou ímpar. Se o índice for par, a expressão indice % 2 será igual a 0. Se o índice for ímpar, a expressão será igual a 1.

A conta de sobra item - indice % 2 é executada para subtrair o índice atual por 0 se o índice for par, ou por 1 se o índice for ímpar. Isso faz com que os meses sejam decrementados em 1 para cada índice ímpar (já que os meses são indexados em 0) e os dias sejam decrementados em 1 para cada índice par (pois o primeiro dia do mês é indexado em 1).

Dessa forma, os valores de mês e dia são ajustados para que possam ser usados corretamente na criação do objeto Date.

Um abraço e bons estudos.

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