Reputation: 1906
Array1 = [Washington, Franklin, Florida, Alaska, California, Georgia]
Array2 = [California, Washington, Georgia]
I want to get
Array1 = [Washington, California, Georgia]
Upvotes: 0
Views: 101
Reputation: 1895
You can use filter for achieving desired output
Using filter:
let array1 = ["Washington", "Franklin", "Florida", "Alaska", "California", "Georgia"]
let array2 = ["California", "Washington", "Georgia"]
let aryCommonElements = array1.filter { array2.contains($0)}
Output:
["Washington", "California", "Georgia"]
Hope this will help you :)
Upvotes: 2
Reputation: 46
var array1 = ["Washington", "Franklin", "Florida", "Alaska", "California", "Georgia"]
var array2 = ["California", "Washington", "Georgia"]
let filterArray = array1.filter {
array2.contains($0)
}
The filterArray
is what you want
Upvotes: 3
Reputation: 4466
If you want to retrieve only common elements than use:
In Swift 3
let Array1 = ["Washington", "Franklin", "Florida", "Alaska", "California", "Georgia"]
let Array2 = ["California", "Washington", "Georgia"]
let common = GetCommonElements(lhs: Array1, rhs: Array2)
print(common)
func GetCommonElements <T, U> (lhs: T, rhs: U) -> [T.Iterator.Element] where T: Sequence, U: Sequence, T.Iterator.Element: Equatable, T.Iterator.Element == U.Iterator.Element {
var returnArray:[T.Iterator.Element] = []
for lhsItem in lhs {
for rhsItem in rhs {
if lhsItem == rhsItem {
returnArray.append(lhsItem)
}
}
}
return returnArray
}
Upvotes: 1