【发布时间】:2020-05-06 10:48:05
【问题描述】:
var financeArray = [[Any]]()
//some code here to populate financeArray
print("financeArray:\(financeArray)")
结果:
[["VF009", 416052.545002.62],
["VF003", 318095.705914636],
["B005", 142228.01838465 5],
["VF010", 198340.167128308],
["VF002", 467586.9413639],
["VF001", 9347271404463.13],
["B002", 142546.55683996],
["VF011", 443370.11349.86],
["VF008", 92280.41684],
["VF012", 367211.3614995],
["VF004", 392188.90705226.39],
["VF007", 179616.3264362.1],
["VF006", 462121.40585729457.33],
["VF005", 151343.09298267]]
我需要按照以 VF 开头的代码对这个数组进行排序。我已经搜索了互联网并找到了一些解决方案,但我通常会在下面得到错误。
Binary operator '<' cannot be applied to two 'Any' operands
期望的结果是:
[["B002", 142546.55683996],
["B005", 142228.01838465 5],
["VF001", 9347271404463.13],
["VF002", 467586.9413639],
["VF003", 318095.705914636],
["VF004", 392188.90705226.39],
["VF005", 151343.09298267],
["VF006", 462121.40585729457.33],
["VF007", 179616.3264362.1],
["VF008", 92280.41684],
["VF009", 416052.545002.62],
["VF010", 198340.167128308],
["VF011", 443370.11349.86],
["VF012", 367211.3614995]]
【问题讨论】:
-
那么以 B 开头的代码呢?
-
到目前为止您尝试过什么?显示代码
-
让您的生活更轻松摆脱
[Any]的数组并使用code: String和value: Double属性创建结构 -
以 B 字母开头的代码无关紧要,因为一旦我对数组进行排序,它将按以下顺序进行:“特殊字符、字母数字字符和数字”我知道我必须使用结构,但 API I使用完全是痛苦的。 API在没有数据时返回Integer,在有数据时返回String。这是我尝试的最后一件事: let sortedArr = financeArray.sorted(by: {$0.first
-
错误说明了它本身,你的数据类型是“任何”,你不能在上面使用二元运算符。你应该把它转换成一些类似的类型,然后它就会工作
标签: ios arrays swift iphone sorting