[英]Sort multi-dimensional array
我有以下形式的多維數組
array:2 [▼
"dashboardData" => array:1 [▶]
"widgetData" => array:5 [▼
0 => {#214 ▼
+"_id": "575fcf6d298fbfd833000041"
+"created": "2016-06-14T09:33:33.492Z"
+"dashboardid": "575fcebc298fbfd833000036"
+"datasource": {#215 ▶}
}
1 => {#249 ▶}
2 => {#285 ▶}
3 => {#297 ▶}
4 => {#333 ▶}
]
]
我已經刪除了很多數據,但是以上數據足以說明我所追求的。 本質上,數組的widgetData部分的元素具有隨機順序。
正如您在上面看到的那樣,數組這一部分的每個元素都有一個創建的值。 是否可以根據創建的日期對數組的這一部分(widgetData)進行排序?
謝謝
因為您的日期使用的是標准UTC日期字符串,所以您可以通過迭代組件並將值分配給原始數組(假設它是變量)來對數組進行排序,即:
let arrayCopy = array
for index in 0..<arrayCopy.count {
if let widgetData: [[String: AnyObject]] = array[index]["widgetData"] as? [[String: AnyObject]] {
let sortedWidgetData = widgetData.sort({ (dictionary1, dictionary2) -> Bool in
return (dictionary1["created"] as! String) < (dictionary2["created"] as! String)
})
array[index]["widgetData"] = sortedWidgetData
}
}
您也可以在需要時在數據源的運行時執行此操作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.