2016-08-13 132 views
0

比方說,我有一本字典獲取詞典的按鍵在陣列中的原始順序

let dict = [ 
    "Joe":"D.", 
    "Ben":"K.", 
    "Kyle":"R.", 
    "Matt":"L." 
] 

如果我想這本字典我做的按鍵陣列:

let keys = Array(dict.keys) 

但這版畫一個看似隨機的順序:

["Ben", "Joe", "Matt", "Kyle"] 

有沒有辦法獲得與原始字典相同的順序的鍵數組?

["Joe", "Ben", "Kyle", "Matt"] 
+9

詞典沒有任何順序。 – rmaddy

回答

2

字典沒有秩序。當我們向字典中添加新元素時,我們現在不需要訂單。您可以使用元組數組

 let array = [("Joe", "D."), ("Ben", "K."), ("Kyle", "R.")] 
     print(array) 
//  [("Joe", "D."), ("Ben", "K."), ("Kyle", "R.")] 
     let keys = array.map { $0.0 } 
     print(keys) 
//  ["Joe", "Ben", "Kyle"] 
+1

Irfan是正確的詞典並不意味着保留他們的順序,他們的工作原理是鍵值編碼。你將不得不使用數組。 – Priyansh