Heim > Fragen und Antworten > Hauptteil
Ich habe zwei verschiedene Arrays:
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: // [] } ]
Ich möchte einen Weg finden, die gleichen Daten zwischen Unterkünften und Erlebnissen in einem Objekt zu kombinieren.
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: // [] } }, //... 另一个对象 ]
Ich verwende dayjs
, um Daten zu verwalten. Wie soll ich mit diesem Problem umgehen?
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);