मैं समय मान वाले दो सरणियों की तुलना करने की कोशिश कर रहा हूँ। लक्ष्य उन स्लॉट्स को वापस करना है जो उस समय या दो बुकिंग के बीच में नहीं हैं, एक नई सरणी में।

const bookings = ["2020-06-12T12:00:00.000Z", "2020-06-12T10:00:00.000Z"];
const slots = ["2020-06-12T11:00:00.000Z", "2020-06-12T12:20:00.000Z", "2020-06-12T13:40:00.000Z", "2020-06-12T15:00:00.000Z"];

समय मूल्यों की तुलना करने के लिए यह मेरा कार्य है

const inBetween = (slot, existingBooking) => {
  const start = moment(slot);
  const end = moment(start).add(80, "m");
  existingBooking = moment(existingBooking).utc();
  //returns true or false
  return existingBooking.isBetween(start, end)
}

मुझे यकीन नहीं है कि यह कैसे करें।

0
Bunny 12 जून 2020, 23:25

1 उत्तर

सबसे बढ़िया उत्तर

आप filter को some के साथ मिलाकर इस्तेमाल कर सकते हैं।

const availableSlots = slots.filter(s => !bookings.some(eb => inBetween(s, eb))

availableSlots कुछ existingBooking के बिना slots हैं।

1
Jason Kennaly 12 जून 2020, 20:35