2017-03-09 34 views
-2

私がsearching for cardType = pointsであるとすれば、そのオブジェクトのインデックス位置を知りたいとします。指定された配列の例によると、このオブジェクトのインデックス位置は1です。以下は配列の例です。配列から値のインデックスを見つける方法

[{ 
cardCode = MGC; 
cardId = 5720663d8944bf6710c9d894; 
cardType = gift; 
}, 
{ 
cardCode = MPC; 
cardId = 5720663d8944bf6710c9d898; 
cardType = points; 
}, 
{ 
cardCode = MAC; 
cardId = 5720663d8944bf6710c9d895; 
cardType = advantage; 
}, 
{ 
cardCode = MCC; 
cardId = 5720663d8944bf6710c9d897; 
cardType = cashback; 
}] 

Error

+0

どちらの質問も異なります。私はString型の要素を含む配列には触れていません。私の場合は利用できないメソッド 'index(of)'に基づく答えです。 –

+0

Q&Aの*すべての回答をお読みですか? http://stackoverflow.com/a/24069331/1187415とhttp://stackoverflow.com/a/32923407/1187415両方とも 'index(where:..)'の使用方法を説明しています –

答えて

4

あなたはそのためのindex(where:)を使用することができます。

if let index = yourArray.index(where: { $0.cardType == "points" }) { 
    print(index) //1 
} 
+0

エラーメッセージでクラッシュする、見つからない。しかし、私の配列には価値があります。 –

+0

@KunalKumar新しいコードで質問を編集し、スクリーンショットをエラーで追加します。 –

+0

すべては質問に記載されているものと同じです。 –

関連する問題