私が持っている文字列の配列let filterClassName = ["A","B"]
スウィフトに辞書で文字列配列を比較3
今私が持っているように見える辞書:responseArray
から今
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"])
は私の辞書である私たい私のクラス名と一致するすべての値
:だから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
@アレクサンダー:編集中! –
これは辞書の不適切な使い方です。代わりにレスポンスを表すために構造体を作成する必要があります。フィルタリングが簡単になります。 – Hamish