gpt4 book ai didi

arrays - Swift - 将版本数组排序为字符串

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

我有一个字符串数组(一个应用程序的版本)随机排序如下:

var array = ["2.12.5", "2.12.10", "2.2", "2.11.8"]

排序后的数组应该是["2.12.10", "2.12.5", "2.11.8", "2.2"](最近排序)。我正在尝试对其进行排序。

//Compare by string
array.sort { //This returns ["2.2", "2.12.5", "2.12.10", "2.11.8"]
$0 > $1
}

//Compare by int
array.sort { //This returns ["2.12.10", "2.12.5", "2.11.8", "2.2"]
(Int($0.replacingOccurrences(of: ".", with: "")) ?? 0) > (Int($1.replacingOccurrences(of: ".", with: "")) ?? 0)
}

这些都无法正常工作。返回正确数组的最佳方法是什么?

最佳答案

最简单的选择是使用 compare.numeric:

array.sort { $0.compare($1, options: .numeric) == .orderedDescending }

显然,如果您希望它按升序排列,请使用 .orderedAscending

关于arrays - Swift - 将版本数组排序为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35815469/

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