tam çözüm değil ama yardımcı olabilir.

bu sayfadan yardım alabilirsin Date fonksiyonu için.
https://www.w3schools.com/js/js_date_methods.asp

// ozel ve resmi tatil günleri
const tatilGünleri = ["2023-12-31", "2024-01-01"];

// başlangıç ve bitis tarihleri
const başlangıçTarihi = new Date("2023-09-24");
const bitişTarihi = new Date("2023-09-28"); // 5 gün sonrası

for (let tarih = başlangıçTarihi; tarih <= bitişTarihi; tarih.setDate(tarih.getDate() + 1)) {
  // eger tarih cumartesi, pazar veya tatil günlerinden biri ise atla.
// 0-6 arasında günler.
// 0 pazar gününü temsil eder.
  if (tarih.getDay() === 0 || tarih.getDay() === 6 || tatilGünleri.includes(formatDate(tarih))) {
    continue;
  }

  // businnes logic eklenebilir
  // bilgisi vs.

  console.log(`Tarih: ${formatDate(tarih)} - Fiyat: `);
}

// tarih formaini Y-M-D güncellemek icin
function formatDate(date) {
  const year = date.getFullYear();
  const month = String(date.getMonth() + 1).padStart(2, "0");
  const day = String(date.getDate()).padStart(2, "0");
  return `${year}-${month}-${day}`;
}