我有字符串数组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