根据另一个对象数组的内容从一个对象数组中过滤出对象

时间:2020-05-20 14:32:05

标签: arrays swift

我有点困惑,希望有人能帮助我。我想做的是:预订只有一个正在使用的时隙。我想只有一个时隙2的newTimeslots数组。

var bookings : [Booking] = [Booking(bookingType: "PICKUP", date: "JAN6", timeSlotID: 1),]

var timeSlots : [TimeSlot] = [TimeSlot(name: "Timeslot 1", id: 1),TimeSlot(name: "Timeslot 2", id: 2)]

var newTimeslots : [TimeSlot] = []

1 个答案:

答案 0 :(得分:0)

您可以使用filter仅保留其ID与timeSlots中的任何ID不匹配的bookings的元素。

let emptyTimeSlots = timeSlots.filter { timeSlot in !bookings.contains(where: {$0.timeSlotID == timeSlot.id }) }
相关问题