Maison  >  Questions et réponses  >  le corps du texte

Comment vérifier dans une plage de dates donnée

J'ai deux tableaux différents :

accomodation: [
  {
    id: 1,
    name: "Senator Hotel Fnideq",
    address: "Route de Ceuta, 93100 Fnidek, Morocco",
    checkin: "September 1",
    fullCheckinDate: "2021-09-01",
    checkout: "September 3",
    fullCheckoutDate: "2021-09-03",
    nights: 2,
    mealplan: "Breakfast,Lunch"
  },
  {
    id: 2,
    name: "Kabek Morocco Hotel",
    address: "Omis Juy, 93100 Kabek, Morocco",
    checkin: "September 3",
    fullCheckinDate: "2021-09-03",
    checkout: "September 5",
    fullCheckoutDate: "2021-09-05",
    nights: 2,
    mealplan: "Breakfast,Lunch"
  }
]
experiences: [
        {
            id: 1,
            fullDate: "2021-09-01",
            title: "Arrival",
            itinerary: // []
        },
        {
          id: 2,
          fullDate: "2021-09-02",
          title: "Sightseeing",
          itinerary: // []
        }
    ]

Je souhaite trouver un moyen de combiner les mêmes dates entre hébergements et expériences en un seul objet.

myTrips: [
  {
    accomodation: {
      id: 1,
      name: "Senator Hotel Fnideq",
      address: "Route de Ceuta, 93100 Fnidek, Morocco",
      checkin: "September 1",
      fullCheckinDate: "2021-09-01",
      checkout: "September 3",
      fullCheckoutDate: "2021-09-03",
      nights: 2,
      mealplan: "Breakfast,Lunch"
    },
    experiences: {
       id: 1,
       fullDate: "2021-09-01",
       title: "Arrival",
       itinerary: // []
    }
  },
  //... 另一个对象
]

J'utilise dayjs pour gérer les dates. Comment dois-je gérer ce problème ?

P粉494151941P粉494151941407 Il y a quelques jours535

répondre à tous(1)je répondrai

  • P粉296080076

    P粉2960800762023-09-08 00:26:08

    const accomodation = [
      {
        id: 1,
        name: "Senator Hotel Fnideq",
        address: "Route de Ceuta, 93100 Fnidek, Morocco",
        checkin: "September 1",
        fullCheckinDate: "2021-09-01",
        checkout: "September 3",
        fullCheckoutDate: "2021-09-03",
        nights: 2,
        mealplan: "Breakfast,Lunch"
      },
      {
        id: 2,
        name: "Kabek Morocco Hotel",
        address: "Omis Juy, 93100 Kabek, Morocco",
        checkin: "September 3",
        fullCheckinDate: "2021-09-03",
        checkout: "September 5",
        fullCheckoutDate: "2021-09-05",
        nights: 2,
        mealplan: "Breakfast,Lunch"
      }
    ];
    
    const experiences = [
        {
            id: 1,
            fullDate: "2021-09-01",
            title: "Arrival",
            itinerary: []
        },
        {
          id: 2,
          fullDate: "2021-09-02",
          title: "Sightseeing",
          itinerary: []
        }
    ];
    
    const myTrips = [];
    accomodation.map(acc => {
      const experience = experiences.filter(exp => {
      const date = new Date(exp.fullDate);
      return date >= new Date(acc.fullCheckinDate) && date <= new Date(acc.fullCheckoutDate);
    });
      myTrips.push({accomodation: acc, experience});
    });
    
    console.log(myTrips);

    répondre
    0
  • Annulerrépondre