Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

129
Visualizações
JavaScript detecta si dar región y fecha es un día festivo
const regions = [ { id: 1, name: "Baden-Württemberg", holidays: HOLIDAYS_BW, }, { id: 2, name: "Bayern", holidays: HOLIDAYS_BY, }, ] const HOLIDAYS_BW = [ { date: "01.01.2022", day: "Samstag" }, { date: "06.01.2022", day: "Donnerstag" }, ]; const HOLIDAYS_BY = [ { date: "01.01.2022", day: "Samstag" }, { date: "06.01.2022", day: "Donnerstag" }, ];

¿Cómo puedo comprobar si la región y la fecha que elige el usuario es un día festivo?

Por ejemplo, me gustaría verificar si la región Bayern y la fecha 05.05.2022 es un día festivo, la matriz muestra todos los días festivos.

Intenté esto hasta ahora, pero no parece funcionar.

 regions.find((region) => region.holidays.includes(date));

La fecha que le di a la "consulta" está en este formato

 Tue Mar 22 2022 01:00:00 GMT+0100

eso es un tema creo

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Puede intentar así, encontrando si la región existe primero (devuelve undefined si no), y luego si la fecha está en la lista.

 return regions.find(r => r.name == region)?.holidays.some(h => h.date == date)

Si no te gusta lo undefined y siempre quieres falso, solo agrega ?? false al final.

 return regions.find(r => r.name == region)?.holidays.some(h => h.date == date) ?? false 

 const HOLIDAYS_BW = [{ date: "01.01.2022", day: "Samstag" }, { date: "06.01.2022", day: "Donnerstag" }, ]; const HOLIDAYS_BY = [{ date: "01.01.2022", day: "Samstag" }, { date: "06.01.2022", day: "Donnerstag" }, ]; const regions = [{ id: 1, name: "Baden-Württemberg", holidays: HOLIDAYS_BW, }, { id: 2, name: "Bayern", holidays: HOLIDAYS_BY, }, ] function formatDate(date) { return `${('0' + (date.getDate())).slice(-2)}.${('0' + (date.getMonth())).slice(-2)}.${date.getFullYear()}` } function isHoliday(region, date) { var formattedDate = formatDate(date); return regions.find(r => r.name == region)?.holidays.some(h => h.date == formattedDate); } console.log(isHoliday('Bayern', new Date(2022, 01, 06))); // true console.log(isHoliday('Baden-Württemberg', new Date(2022, 01, 01))); // true console.log(isHoliday('Bayern', new Date())); // false console.log(isHoliday('Hamburg', new Date(2022, 01, 06))); // undefined as Hamburg is not on the list

ACTUALIZAR

Resulta que la entrada es una fecha, puede formatearla primero con algo como:

 var formattedDate = `${('0' + (date.getDate())).slice(-2)}.${('0' + (date.getMonth())).slice(-2)}.${date.getFullYear()}`

y luego use la cadena para la comparación.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda