我有字符串數組let filterClassName = ["A","B"]
在斯威夫特與詞典比較字符串數組3
現在我有字典,它看起來像:
var responseArray: [[String: Any]] = []
responseArray.append(["id": 1,"name": "Prateek", "className": "A"])
responseArray.append(["id": 1,"name": "rateek", "className": "B"])
responseArray.append(["id": 3,"name": "ateek", "className": "C"])
responseArray.append(["id": 4,"name": "teek", "className": "D"])
responseArray.append(["id": 5,"name": "eek", "className": "A"])
responseArray.append(["id": 6,"name": "ek", "className": "E"])
現在從responseArray
這是我的字典我想要的我的類名相匹配的所有值在filterClassName
所以提到,我應該得到輸出數組:
[「id」:1,「name」:「Prateek」,「className」:「A」],[「id」:1,「name」: 「rateek」,「className」:「B」] ,[「id」:5,「name」:「eek」,「className」:「A」]
提前致謝!
這是我曾嘗試:
for value in filterClassName {
let cal = responseArray.filter { (($0["className"] as! String).contains(value)) }
for value in cal {
let valuesss = value
print ("valuesss" + String(describing: valuesss))
}
}
我上面的回答是很基本的,但我想是這樣工作的:
let cal = responseArray.filter { (($0["className"] as! String).contains(filterClassName)) }
在過濾和短單號線循環,因爲我恨他們!
你有什麼試過的?我們不喜歡回答顯示沒有事先努力的問題。 – Alexander
@Alexander:編輯! –
這是字典的不恰當用法 - 您應該創建一個結構來代表響應。過濾然後變得更簡單。 – Hamish