2017-01-07 13 views
-1

[String:String]型の辞書を2つ並べています。 1つの配列に別の辞書が含まれているかどうかを確認する方法を教えてください。辞書の配列に特定の辞書があるかどうかを確認するにはどうすればいいですか?

let firstArray: [[String: String]] = [dict1, dict2, dict3] 
    let secondArray: [[String: String]] = [dict1, dict2, dict3, dict4, dict5] 

私は含まれています()メソッド

for item in firstArray { 
     if secondArray.contains(item) { 
      print("Hello") 
     } 
    } 

でこれを実行しようとしましたが、それはそこにエラーがスローされます。だから、これを行うための最善の方法は何ですか?

+0

で正常に動作エラーが何を投げましたか? –

+0

[スクリーンショット](https://www.dropbox.com/s/ziatc5ljfzs6wsx/%D0%A1%D0%BA%D1%80%D0%B8%D0%BD%D1%88%D0%BE%D1% 82%202017-01-07%2015.50.25.png?dl = 0) –

答えて

2

あなたはこれを達成するためにcontainsの述語形式を使用することができます。

for item in firstArray { 
    if secondArray.contains(where: { $0 == item }) { 
     print("Hello") 
    } 
} 

タイプ[String : String]Equatableプロトコルに準拠していないので、あなたがcontainsの他のフォームを使用することはできません。

+1

ありがとうございます。それは助け:) –

0

これはスウィフト4

let dictionary = ["abc":"pqr"] 

if !myArray.contains{ $0 == dictionary } { 
      //append dictionary inside array   
      myArray.append(dictionary) 
    } 
else { 
    //dictionary already exist in your myArray 
    }