2016-11-24 4 views
1

これは配列が辞書を含む配列のインデックスを迅速に見つける方法3?

var tempArray = [String]() 
tempArray = ["Hai", "Hello", "How are you?"] 
let indx = tempArray.index(of:"Hai") 

を意味など、私は配列を定義する場合、インデックスを見つける:)

のオプション

インデックスが(そこにあるが、私はこのように定義する場合

を意味し、
var tempArray = [AnyObject]() 
//or 
var tempArray = [[String:AnyObject]]()() 

見つけるオプションはありませんインデックスあなたは、この宣言を見ることができますSwift.swiftで

+0

どのように辞書でオブジェクトを検索していますか?私の特定のキー? –

答えて

2

extension Collection where Iterator.Element : Equatable { 
    public func index(of element: Self.Iterator.Element) -> Self.Index? 
} 

この方法だけEquatableの要素を持つ配列のために利用可能です。あなたはこのようなものを使用することができます取り除くため

var tempArray = [AnyObject]() 
    for item in tempArray { 
     if let typedItem = item as? SomeYourType { 
      if typedItem == searchItem { 

      } 
     } 
    } 

EDITED:あなたが、しかし、このようなあなたの要素を探すことができます

を:ANYOBJECTを編集Equatable

に準拠していません。 (テストされていない):

someArr.filter({object in guard let typedObject = (object as? YourType) else {return true}; return typedObject != yourObject }) 
+0

実際には、特定のオブジェクトを配列から削除する必要があります。インデックスを見つけることなく、配列からそのオブジェクトを削除するにはどうしたらいいですか? –

関連する問題