簡體   English   中英

基於與swift中的鍵相關聯的元組的值對字典鍵進行排序

[英]Sorting dictionary keys based on a value of the tuple associated with the key in swift

我目前有一個類型為[String: (Int, NSDate)]的字典。 我想得到一個鍵的數組(在這種情況下是字符串),由元組中的NSDate排序。

到目前為止,我能獲得的最好的是這段代碼:

var ret = sorted(self.dictionary, {
  var tuple1 = $0.1 as (Int, NSDate)
  var tuple2 = $1.1 as (Int, NSDate)
  return tuple1.1.compare(tuple2.1) == NSComparisonResult.OrderedAscending
})

但是返回以下類型的東西: [(String, (Int, NSDate)) ]

我有一個簡單的方法來檢索字符串數組嗎?

ret = sorted(self.dictionary, ...)返回的數組 (key,value)元組。 您可以使用提取密鑰

let keys = map(ret) { $0.0 }

或者,根據字典中的值對鍵進行排序:

let keys = sorted(self.dictionary.keys) {
    (key1, key2) in
    let tuple1 = self.dictionary[key1]!
    let tuple2 = self.dictionary[key2]!
    return tuple1.1.compare(tuple2.1) == NSComparisonResult.OrderedAscending
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM