fundo
Você é um jogador de código atraente e muitas pessoas estão convidando você para sair.
Você não tem tempo para pensar em quais dias exatamente você está disponível, então decide criar uma função que aceita uma data e retorna os dias da semana.
Você pega esses dias da semana, insira-o no seu programa de calendário para ver se alguém já o convidou para sair.
Regras
- Aceita uma data no formato AAAA-MM-DD
- Retorna uma matriz / lista de datas dessa semana. (Domingo é o primeiro dia)
- As datas podem ser exibidas como milissegundos entre 1 de janeiro de 1970 e essa data, em um formato de data "comum" 1 ou em objetos de data.
- A ordem das datas deve ser crescente.
- (Embora você seja inteligente o suficiente para incluir suporte para uma lista descendente, o programa pode trabalhar mais rapidamente com uma lista ascendente e quem tem alguns milissegundos de sobra?)
- Deve trabalhar com qualquer dia desde 1993. (Sim, você tem 24 anos no momento da redação!)
- Toda resposta Javascript recebe cinco!
Especificações
Entrada de amostra: whichDates(2017-08-29)
Saída: (o equivalente a)
console.log([
Date.parse('2017-08-27'),
Date.parse('2017-08-28'),
Date.parse('2017-08-29'),
Date.parse('2017-08-30'),
Date.parse('2017-08-31'),
Date.parse('2017-09-01'),
Date.parse('2017-09-02'),
]);
1 Um formato bastante conhecido. Como AAAA-MM-DD.
2 Isso é código-golfe ! O código mais curto por idioma vence, mas o código mais curto em geral recebe a marca de esmeralda!
Date.parse(2017-08-27)
?? deveria ser isso Date.parse('2017-08-27')
?
YYYY-MM-DD
(não vejo uma boa razão para que isso seja rigoroso).