2016-12-28 2 views
9

Wie kann ich zwei Arrays in Swift vergleichen, die ein gemeinsames Element haben und dieses Element bekommen?Swift prüfen, ob zwei Array das gleiche Element enthält und das Element erhalten?

let a1 = [1, 2, 3] 
let a2 = [4, 2, 5] 

Ich möchte a1 und a2 vergleichen und in schnellen 2,2 führen 2 aus dem Vergleich zu erhalten. Wie?

+3

http://stackoverflow.com/questions/25714985/how-to-determine-if-one-array-contains- Alle Elemente eines anderen-Array-in-Swift –

+0

Überprüfen Sie es http://stackoverflow.com/questions/32439289/how-to-get-list-of-common-elements-of-2-array-in- swift? rq = 1 – Amanpreet

Antwort

10

können Sie verwenden Filter Funktion des schnellen

let a1 = [1, 2, 3] 
let a2 = [4, 2, 5] 

let a = a1.filter() { a2.contains($0) } 

print(a) 

Druck: [2]

wenn Daten

let a1 = [1, 2, 3] 
let a2 = [4, 2, 3, 5] 

Druck: [2, 3]

Wenn Sie möchten, Ergebnis in Int nicht in Array

let result = a.first 

Sie erhalten optional Int (Int?) Mit der ersten gemeinsamen Element

+0

wird es funktionieren, wenn a1 und a2 unterschiedliche Länge hat? –

+1

Ja, es ist Arbeit für alle Array. Bedingung ist nur beide Array sind vom gleichen Typ. Hier ist [Int] Array – ERbittuu

+0

Wie kann ich ein nicht in Array sondern einfach Int bekommen? –

Verwandte Themen