【发布时间】:2016-01-21 20:10:24
【问题描述】:
假设从 JSON API 检索对象数组:
[
{
"id": 48,
"name": "Bob"
},
{
"id": 198,
"name": "Dave"
},
{
"id": 2301,
"name": "Amy"
},
{
"id": 990,
"name": "Colette"
}
]
// e.g. for ease of reproduction:
let dataObjects = [
["id": 48, "name": "Bob"],
["id": 198, "name": "Dave"],
["id": 2301, "name": "Amy"],
["id": 990, "name": "Colette"]
]
在客户端,我想允许用户重新排序这些对象。为了保存订单,我将一个 id 列表存储在一个数组中:
let index: [Int] = [48, 990, 2103, 198]
如何根据排序索引中 id 的顺序重新排序原始数据对象数组?
dataObjects.sort({
// magic happens here maybe?
}
所以最后,我得到:
print(dataObjects)
/*
[
["id": 48, "name": "Bob"],
["id": 990, "name": "Colette"],
["id": 2301, "name": "Amy"],
["id": 198, "name": "Dave"]
]
/*
【问题讨论】: