स्विफ्ट डिक्शनरी से की-वैल्यू पेयर कैसे निकालें?


83

मैं एक शब्दकोश से एक कुंजी-मूल्य जोड़ी को उदाहरण में निकालना चाहता हूं यदि संभव हो तो।

var dict: Dictionary<String,String> = [:]
var willRemoveKey = "SomeKey"
dict.removePair(willRemoveKey) //that's what I need

जवाबों:


169

आप इसका उपयोग कर सकते हैं:

dict[willRemoveKey] = nil

या यह:

dict.removeValueForKey(willRemoveKey)

एकमात्र अंतर यह है कि दूसरा हटाए गए मूल्य को वापस कर देगा (या यदि यह मौजूद नहीं था तो शून्य)

स्विफ्ट 3

dict.removeValue(forKey: willRemoveKey)

3
अब इसे बुलाया जाना चाहिए dict.removeValue(willRemoveKey)क्योंकि यह दिखता है।
कोटी ने

इतना अच्छा और इतना साफ। इसे प्यार करना!
डस्टिन्रॉ

4
यदि आपके मूल्य वैकल्पिक हैं, तो सबस्क्रिप्ट सिंटैक्स कैसे काम कर सकता है?
वाइजऑल्डडुक

5
किसी और ने देखा है कि डॉक्स का कहना है कि यह ओ (एन) है जहां एन शब्दकोश का आकार है ?!
एंड्रयू

1
@ScriptOldDuck nilकुंजी को हमेशा हटाने के लिए सबस्क्रिप्ट को असाइन करता है । nilएक वैकल्पिक मूल्य प्रकार के साथ एक शब्दकोश में एक सच्चे मूल्य को निर्दिष्ट करने के लिए असाइन करें .some(nil)
बॉलपॉइंटबैन

30

स्विफ्ट 5 , स्विफ्ट 4 और स्विफ्ट 3 :

x.removeValue(forKey: "MyUndesiredKey")

चियर्स


7
dict.removeValue(forKey: willRemoveKey)

या आप सबस्क्रिप्ट सिंटैक्स का उपयोग कर सकते हैं:

dict[willRemoveKey] = nil

0

LOOP में जाँच की शर्तों के साथ निकालें

var eventDateDict = [String:String]()
//Declarations
var tempDict = eventDateDict
        for value in tempDict{
            let getDate = value.key
            if getDate < Date(){
                eventDateDict.removeValue(forKey: value.key)
            }
        }
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.