根据 Swift 中的给定索引对数组重新排序

Reorder an Array according to given index in Swift

let waypointOrder = [1,0,2,3]
var waypoints = ["sydny", "wynard", "surry hills", "Town hall"]

我希望 waypoints 像这样排序:

["Wynard", "sydny", "surry hills", "Town hall"] 

解释:因为 waypointOrder[0] = 1 然后 orderedWaypoints[0] = waypoints[1],如果这有意义...

嗯,Google 距离 API 响应返回我的 waypoint_order。 我想根据 google 距离响应重新排序我的航路点。

不胜感激

在排序数组上使用 map 函数,并使用它的 returned 值到 return 您要排序的数组中它的索引处的值。

let waypointOrdering = [1,0,2,3]
var waypoints = ["sydny","wynard","surry hills","Town hall"]
let orderedWaypoints = waypointOrdering.map { waypoints[[=10=]] }

输出:

["wynard", "sydny", "surry hills", "Town hall"]