按值排序多维关联数组 (SWIFT)
Sorting of Multidimensional Associative Array by Value (SWIFT)
如何对以下关联数组进行排序:
[
["name": "Zone A", "type": "1"],
["name": "Zone B", "type": "2"],
["name": "Zone C", "type": "1"],
["name": "Zone D", "type": "3"],
["name": "Zone E", "type": "2"],
["name": "Zone F", "type": "3"],
["name": "Zone G", "type": "1"],
["name": "Zone H", "type": "2"]
]
结果如下 - 按类型排序:
[
["name": "Zone A", "type": "1"],
["name": "Zone C", "type": "1"],
["name": "Zone G", "type": "1"],
["name": "Zone B", "type": "2"],
["name": "Zone E", "type": "2"],
["name": "Zone H", "type": "2"]
["name": "Zone D", "type": "3"],
["name": "Zone F", "type": "3"],
]
提前致谢!
使用sort
var a = [
["name": "Zone A", "type": "1"],
["name": "Zone B", "type": "2"],
["name": "Zone C", "type": "1"],
["name": "Zone D", "type": "3"],
["name": "Zone E", "type": "2"],
["name": "Zone F", "type": "3"],
["name": "Zone G", "type": "1"],
["name": "Zone H", "type": "2"]
]
a.sort { (v1, v2) -> Bool in
return v1["type"]! < v2["type"]!
}
//or:
//a.sort { [=10=]["type"]! < ["type"]! }
print("\(a)")
另请参阅:Swift how to sort array of custom objects by property value
和sort
&sorted
:https://developer.apple.com/documentation/swift/array/2296801-sort
sort
: 就地排序集合。
sorted
: Returns 序列的元素,已排序。
如何对以下关联数组进行排序:
[
["name": "Zone A", "type": "1"],
["name": "Zone B", "type": "2"],
["name": "Zone C", "type": "1"],
["name": "Zone D", "type": "3"],
["name": "Zone E", "type": "2"],
["name": "Zone F", "type": "3"],
["name": "Zone G", "type": "1"],
["name": "Zone H", "type": "2"]
]
结果如下 - 按类型排序:
[
["name": "Zone A", "type": "1"],
["name": "Zone C", "type": "1"],
["name": "Zone G", "type": "1"],
["name": "Zone B", "type": "2"],
["name": "Zone E", "type": "2"],
["name": "Zone H", "type": "2"]
["name": "Zone D", "type": "3"],
["name": "Zone F", "type": "3"],
]
提前致谢!
使用sort
var a = [
["name": "Zone A", "type": "1"],
["name": "Zone B", "type": "2"],
["name": "Zone C", "type": "1"],
["name": "Zone D", "type": "3"],
["name": "Zone E", "type": "2"],
["name": "Zone F", "type": "3"],
["name": "Zone G", "type": "1"],
["name": "Zone H", "type": "2"]
]
a.sort { (v1, v2) -> Bool in
return v1["type"]! < v2["type"]!
}
//or:
//a.sort { [=10=]["type"]! < ["type"]! }
print("\(a)")
另请参阅:Swift how to sort array of custom objects by property value
和sort
&sorted
:https://developer.apple.com/documentation/swift/array/2296801-sort
sort
: 就地排序集合。sorted
: Returns 序列的元素,已排序。