दिलचस्प पोस्ट
यदि हालत कथन, अच्छा अभ्यास या नहीं में चर असाइन करें? सीएसएस अस्वीकृति छद्म श्रेणी: नहीं () अभिभावक / पूर्वजों तत्वों के लिए प्रोग्रामात्मक रूप से एक एंड्रॉइड सूचीदृश्य में एक विशिष्ट स्थान पर स्क्रॉल करें पांडा में कॉलम के मानों के आधार पर एक डेटाफ्रेम से पंक्तियां चुनें जेपीएनएल के लिए addMouseListener () और paintComponent () का उपयोग करना AngularJS का उपयोग करके पूरे पृष्ठ को पुनः लोड या पुन: रेंडर कैसे करें ResourceResolverFactory getServiceResourceResolver ने एईएम में अपवाद फेंकता है 6.1 स्प्रिंग एक्सएमएल फाइल को @ कॉन्फ़िगरेशन क्लास में कनवर्ट करना जावास्क्रिप्ट में "?: नोटन" क्या है? कस्टम सॉर्ट बनाने के लिए तुलनित्र का उपयोग करना सीधे मेरी एंड्रॉइड एप्लिकेशन में ZXing लाइब्रेरी को एकीकृत करना जब आप एक RET का उपयोग कर सकते हैं, तो Win32 के तहत बाहर निकलने की आवश्यकता क्यों है? एचटीएमएल ईमेल को सीएम के माध्यम से # SmtpClient भेजें आईएसईईक्सप्रेस के साथ एसएसएल कनेक्शन / कनेक्शन रीसेट करें स्वचालित HTTPS कनेक्शन / नोड.जेएस / एक्सप्रेस के साथ रीडायरेक्ट

कुंजी के अनुसार सॉर्ट करें

मैं स्विफ्ट में एक शब्दकोश सॉर्ट करना चाहता हूं मेरे पास एक शब्दकोश है:

"A" => Array[] "Z" => Array[] "D" => Array[] 

आदि। मुझे यह पसंद होना चाहिए

 "A" => Array[] "D" => Array[] "Z" => Array[] 

आदि।

मैंने इतने सारे समाधानों की कोशिश की है लेकिन कोई भी मेरे लिए काम नहीं करता है मैं XCode6 बीटा 5 का उपयोग कर रहा हूं और इसके बारे में कुछ संकलक त्रुटि दे रहे हैं और कुछ समाधान अपवाद दे रहे हैं। तो जो कोई भी शब्दकोश सॉर्टिंग की कार्यशील प्रति पोस्ट कर सकता है

Solutions Collecting From Web of "कुंजी के अनुसार सॉर्ट करें"

 let dictionary = [ "A" : [1, 2], "Z" : [3, 4], "D" : [5, 6] ] let sortedKeys = Array(dictionary.keys).sorted(<) // ["A", "D", "Z"] 

संपादित करें:

उपरोक्त कोड से क्रमबद्ध सरणी में केवल चाबियाँ हैं, जबकि मूल शब्दकोश से मूल्य प्राप्त करना है हालांकि, 'Dictionary' (कुंजी, मान) युग्म का एक 'CollectionType' भी है और हम वैश्विक और 'sorted' फ़ंक्शन का इस्तेमाल कर सकते हैं, जैसे कि दोनों चाबियाँ और मूल्यों को एक क्रमबद्ध सरणी से सम्मिलित करना:

 let sortedKeysAndValues = sorted(dictionary) { $0.0 < $1.0 } println(sortedKeysAndValues) // [(A, [1, 2]), (D, [5, 6]), (Z, [3, 4])] 

EDIT2: मासिक रूपांतरित स्विफ्ट सिंटैक्स वर्तमान में पसंद करता है

 let sortedKeys = Array(dictionary.keys).sort(<) // ["A", "D", "Z"] 

वैश्विक sorted गया है।

स्विफ्ट 2.0

Ivica M के उत्तर का अद्यतन संस्करण:

 let wordDict = [ "A" : [1, 2], "Z" : [3, 4], "D" : [5, 6] ] let sortedDict = wordDict.sort { $0.0 < $1.0 } print("\(sortedDict)") // 

स्विफ्ट 3

 wordDict.sorted(by: { $0.0 < $1.0 }) 

सूचना:

आप में से कुछ आश्चर्यचकित हैं कि परिणामी सरणी कोई शब्दकोश नहीं है शब्दकोशों को सॉर्ट नहीं किया जा सकता है ! परिणामस्वरूप डेटा-प्रकार एक क्रमबद्ध सरणी है, जैसे @ आईविका के उत्तर में।

यदि आप एक चाबी सॉर्ट क्रम में दोनों चाबियाँ और मूल्यों पर पुनरावृति करना चाहते हैं, तो यह फ़ॉर्म काफी संक्षिप्त है

 let d = [ "A" : [1, 2], "Z" : [3, 4], "D" : [5, 6] ] for (k,v) in Array(d).sorted({$0.0 < $1.0}) { println("\(k):\(v)") } 

आईओएस 9 और एक्सकोड 7.3 में "सॉर्ट किया गया", तेज 2.2 असंभव है, "सॉर्ट" को "सॉर्ट" में बदलें, जैसे:

 let dictionary = ["main course": 10.99, "dessert": 2.99, "salad": 5.99] let sortedKeysAndValues = Array(dictionary).sort({ $0.0 < $1.0 }) print(sortedKeysAndValues) //sortedKeysAndValues = ["desert": 2.99, "main course": 10.99, "salad": 5.99] 

स्विफ्ट 3 के लिए, निम्नलिखित सॉर्ट सॉर्ट किए गए शब्द कुंजी के अनुसार सॉर्ट करता है:

 let unsortedDictionary = ["4": "four", "2": "two", "1": "one", "3": "three"] let sortedDictionary = unsortedDictionary.sorted(by: { $0.0.key < $0.1.key }) print(sortedDictionary) // ["1": "one", "2": "two", "3": "three", "4": "four"] 

स्विफ्ट 3 के लिए निम्नलिखित ने मेरे लिए काम किया है और स्विफ्ट 2 सिंटैक्स ने काम नहीं किया है:

 // menu is a dictionary in this example var menu = ["main course": 10.99, "dessert": 2.99, "salad": 5.99] let sortedDict = menu.sorted(by: <) // without "by:" it does not work in Swift 3 

मैंने संक्षेप में, उपरोक्त सभी की कोशिश की, तुम्हारी ज़रूरत है

 let sorted = dictionary.sorted { $0.key < $1.key } let keysArraySorted = Array(sorted.map({ $0.key })) let valuesArraySorted = Array(sorted.map({ $0.value }))