假设我有一个自定义类的数组[Player],每个数组都包含一个名为的字符串属性player.position
我也有一个任意的值数组positionOrders,如下所示:
let positionOrders = ["QB", "WR", "RB", "TE"]
我的目标是[Player]先将所有"QB" 排序,然后是"WR","RB",最后是"TE".
我正在做的当前方式循环遍历每个元素positionOrders,然后在内部循环遍历所有玩家以附加到新数组.但是,我无法想出一种更简单(更有效)的方法.非常感谢任何提示或指示.谢谢.
我在Swift中有一个包含一些对象ID的数组,而我有另一个包含这些对象及其ID的数组,所以像这样:
class MyObject {
let id: String
...
}
let ids: [String] = ...
let objects: [MyObject] = ...
Run Code Online (Sandbox Code Playgroud)
现在,id数组按自定义顺序排序,我需要按相同顺序对对象数组进行排序。因此,例如:
let ids: [String] = ["1", "2", "3"]
let objects: [MyObject] = [obj3, obj1, obj2]
// obj1.id = "1"
// obj2.id = "2"
// obj3.id = "3"
objects.reorder(template: ids)
// Now objects = [obj1, obj2, obj3]
Run Code Online (Sandbox Code Playgroud)
所以我基本上需要实现这种重新排序方法。有谁有聪明的建议如何在Swift中做到这一点?我正在使用Swift 3,因此所有新API都可以使用。