gpt4 book ai didi

arrays - Swift - 需要对星期几的字符串数组进行排序

转载 作者:搜寻专家 更新时间:2023-11-01 05:47:16 25 4
gpt4 key购买 nike

swift 4

我有一个数组,其中包含星期几的随机文本。例如

var daysOfWeek: [String] = [] // ["Tuesday", "Thursday" , "Sunday", "Friday"]

我希望能够将它们排序为:星期日、星期一、星期二等...

我不确定这是否是正确的方法,但我试过了......

     let dateFormatter = DateFormatter()

for element in daysOfWeek {

print(dateFormatter.weekdaySymbols[element])
}

抛出错误:

value of optional type '[String]?' must be unwrapped to refer to member 'subscript' of wrapped base type

我是 Xcode 和 Swift 的新手

这是正确的做法吗?如果是这样,我该如何修复错误?

如果这不是正确的方法,那什么才是?我感谢任何帮助

最佳答案

你可以像这样创建一个字典,将每个字符串对应一个数值:

let weekDayNumbers = [
"Sunday": 0,
"Monday": 1,
"Tuesday": 2,
"Wednesday": 3,
"Thursday": 4,
"Friday": 5,
"Saturday": 6,
]

然后你可以按这个排序:

weekdays.sort(by: { (weekDayNumbers[$0] ?? 7) < (weekDayNumbers[$1] ?? 7) })

这将在末尾对非工作日字符串进行排序。

另请注意,世界不同地区的一周开始时间不同。他们可能会以不同的方式订购东西。

关于arrays - Swift - 需要对星期几的字符串数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53135422/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com