如何比较swift中具有共同元素并获取该元素的两个数组?
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tvRssElement"
android:paddingTop="2dip"
android:paddingBottom="3dip"
android:maxLines="5"
android:maxLength="120"
android:ellipsize="end"
/>
我想比较a1和a2,并从swift 2.2中的比较中获得结果let a1 = [1, 2, 3]
let a2 = [4, 2, 5]
。怎么样?
答案 0 :(得分:13)
您可以使用swift的过滤器功能
let a1 = [1, 2, 3]
let a2 = [4, 2, 5]
let a = a1.filter () { a2.contains($0) }
print(a)
print:[2]
如果数据是
let a1 = [1, 2, 3]
let a2 = [4, 2, 3, 5]
打印:[2,3]
如果你想要Int不在数组中的结果
let result = a.first
你得到第一个共同元素
的可选Int(Int?)答案 1 :(得分:0)
另一种替代方法是使用Sets:
let a1 = [1, 2, 3]
let a2 = [4, 2, 5]
let a = Set(a1).intersection(Set(a2)) // <- getting the element itself
print(a) // 2
let contains: Bool = !Set(a1).isDisjoint(with: Set(a2)) // <- checking if they have any common element
print(contains) // true