2017-05-12 2 views
1

i haben eine Reihe von Tupel wieWie erhält man alle Elemente aus einem Array von Tupeln, die mit String übereinstimmen?

var contactsname = [(String,String)]()//firstname,lastname 

Beispiel = [(Alex, Joe), (Catty, drling), (Alex, Fuchs), (Asta, Alex)]

i müssen Suchelemente, die die Vorname oder Nachname passen und das Rück alle diejenigen Elemente, die die Schlüssel

func searchElementsForkey(key:String)->[(string,String)]{ //code here } 

searchElementsForKey ("Alex") = [(Alex, Joe), (Alex, Fuchs), (Asta, Alex)] passende

Antwort

2

Sie können so gehen.

var contactsname = [(String,String)]()//firstname,lastname 
contactsname = [("alex","joe"),("catty","drling"),("alex","fox"),("asta","alex")] 
let key = "alex" 

Wenn Sie den Namen Suche genau übereinstimmen entweder mit Vorname oder Nachname

let filterArray = contactsname.filter { $0.0 = key || $0.1 == key } 

Wenn Sie Vorname und Nachname überprüfen möchten enthält bestimmte Zeichenfolge für die Sie verwenden können contains

let filterArray = contactsname.filter { $0.0.contains(key) || $0.1.contains(key) } 
Verwandte Themen