【发布时间】:2017-08-04 07:43:59
【问题描述】:
Array1 = [华盛顿、富兰克林、佛罗里达、阿拉斯加、加利福尼亚、乔治亚]
Array2 = [加利福尼亚、华盛顿、乔治亚]
我想得到
Array1 = [华盛顿,加利福尼亚,乔治亚]
【问题讨论】:
Array1 = [华盛顿、富兰克林、佛罗里达、阿拉斯加、加利福尼亚、乔治亚]
Array2 = [加利福尼亚、华盛顿、乔治亚]
我想得到
Array1 = [华盛顿,加利福尼亚,乔治亚]
【问题讨论】:
var array1 = ["Washington", "Franklin", "Florida", "Alaska", "California", "Georgia"]
var array2 = ["California", "Washington", "Georgia"]
let filterArray = array1.filter {
array2.contains($0)
}
filterArray 是你想要的
【讨论】:
您可以使用过滤器来实现所需的输出
使用过滤器:
let array1 = ["Washington", "Franklin", "Florida", "Alaska", "California", "Georgia"]
let array2 = ["California", "Washington", "Georgia"]
let aryCommonElements = array1.filter { array2.contains($0)}
输出:
["Washington", "California", "Georgia"]
希望对你有帮助:)
【讨论】:
试试这个
let filteredArray = array1.filter({Array2.contains($0)})
【讨论】:
如果您只想检索常用元素而不是使用:
在 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
}
【讨论】: