Rumah > Soal Jawab > teks badan
Saya mempunyai dua tatasusunan berbeza:
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: // [] } ]
Saya ingin mencari cara untuk menggabungkan tarikh yang sama antara penginapan dan pengalaman menjadi satu objek.
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: // [] } }, //... 另一个对象 ]
Saya menggunakan dayjs
untuk mengendalikan tarikh. Bagaimanakah saya harus menangani masalah ini?
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);