我在Swift中有一个包含一些对象ID的数组,我有另一个包含这些对象及其ID的数组,所以像这样:
class MyObject { let ID: String ...}let IDs: [String] = ...let objects: [MyObject] = ...
现在,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]
所以我基本上需要实现这个重新排序方法.
有没有人有一个聪明的建议如何在Swift中做到这一点?我正在使用Swift 3,所以我可以使用所有新的API.
let sorted = objects.sort { IDs.indexOf(let IDs: [String] = ["3","1"]let objects: [MyObject] = [MyObject(ID: "3"),MyObject(ID: "1"),MyObject(ID: "2")]let sorted = objects.sort { IDs.indexOf(.ID) < IDs.indexOf(.ID) }// [{ID "1"},{ID "2"},{ID "3"}]let sorted = objects.sorted { IDs.index(of: .ID)! < IDs.index(of: .ID)! }.ID) < IDs.indexOf(.ID) }// [{ID "3"},{ID "1"}]
另一个例子
This code is in Swift 2.2
Swift 4.2解决方案
总结以上是内存溢出为你收集整理的数组 – 重新排序数组与Swift中的另一个数组相比全部内容,希望文章能够帮你解决数组 – 重新排序数组与Swift中的另一个数组相比所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)