【发布时间】:2018-11-06 16:54:43
【问题描述】:
我有var array: [Double] = [0.0, 1.000002, 0.0, 0.0]。
我想对我的数组进行排序。第一次我需要按我的优先级排序,像这样:
secondElement: 1.000002
firstElement: 0.0
thirdElement: 0.0
fourthElement: 0.0
后来我需要按 arc4random 进行第二次排序,但需要保存第一次排序(top of all 上的 var2。其他元素按 arc4random 排序)。我想看到这样的数组:
secondElement: 1.000002
thirdElement: 0.0
firstElement: 0.0
fourthElement: 0.0
或
secondElement: 1.000002
thirdElement: 0.0
fourthElement: 0.0
firstElement: 0.0
【问题讨论】:
-
"var array: [String: Double]" 那是字典,不是按定义排序的。
-
是的,我的错,解决了问题
-
如果我们可以假设你有一个数组而不是一个字典,你可以排序(你试过了吗?),一旦完成,你可以得到第一个项目并用其余的做一个子数组,随机化它,然后通过首先添加前一个第一个来重建数组。
-
我第一次只排序,第二次我不知道怎么做
-
为了更好地理解,使用
var array: [Double] = [0.3, 0.4, 0.2, 0.1]会更容易,这样您就不必解释“thirdElement”之类的了。