如何將陣列物件帶到第一個索引
struct ScheduleDateTime {
var startDate: String?
var endDate: String?
var isScheduled: Bool?
}
var scheduleDateTime = [ScheduleDateTime]()
func reArrange(){
if let scheduleList = scheduleDateTime{
if scheduleList.count > 1 {
for each in scheduleList {
if each.isScheduled == true {
// Bring the item to first Index.
}
}
}
}
}
如何根據上述isSchedule == true條件將陣列索引帶到第一個位置
uj5u.com熱心網友回復:
你可以做一個sort基于比較的isScheduled。這會將所有isScheduled == true專案移動到陣列的前面。
let input : [ScheduleDateTime] =
[.init(startDate: "Item1", endDate: nil, isScheduled: false),
.init(startDate: "Item2", endDate: nil, isScheduled: false),
.init(startDate: "Item3", endDate: nil, isScheduled: true),
.init(startDate: "Item4", endDate: nil, isScheduled: false),
.init(startDate: "Item5", endDate: nil, isScheduled: true)]
let output = input.sorted(by: { $0.isScheduled == true && $1.isScheduled != true })
print(output.map(\.startDate!))
產量:
[“專案3”、“專案5”、“專案1”、“專案2”、“專案4”]
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/342671.html
下一篇:如何根據物件上的鍵進行映射?
