我有两个数组:
fruitsArray = ["apple", "mango", "blueberry", "orange"]
vegArray = ["tomato", "potato", "mango", "blueberry"]
如何获得这两个数组中的常用项列表
ouptput = ["mango", "blueberry"]
我无法使用,if contains(array, string)因为我想比较2个数组.
我有两个数组.Array1包含15个对象,Array2包含4个对象.两个数组都有两个常见的对象,我只想得到那两个对象的结果数组.
它应该像两个Set的交集,但是如何在Objective C中为数组做..?请帮忙.谢谢.
我是Swift Lang的新手,看过很多教程,但目前还不清楚 - 我的问题是Array,Set和Dictionary集合类型之间的主要区别是什么?
Set是一系列独特元素的无序集合.几乎与数组类似.
我想在一个Set中添加/插入多个元素String.但是只提供了一种方法,只能插入一个元素(接受单个Set元素作为参数参数),我收集了字符串(id).
@discardableResult mutating func insert(_ newMember: Set.Element) -> (inserted: Bool, memberAfterInsert: Set.Element)
我怎样才能做到这一点?
我尝试过:
我尝试创建一个非常类似于insert(_:)方法的扩展,但它可以接受多个Set元素.它与使用迭代而不是集合相同,但不需要在任何地方手动处理它.
extension Set {
    @discardableResult mutating func insert(_ newMembers: [Set.Element]) -> (inserted: Bool, memberAfterInsert: Set.Element) {
        newMembers.forEach { (member) in
            self.insert(member)
        }
    }
}
它应该工作,如果我按预期返回一个元组但不知道如何以及在哪里(哪一行)以及返回值的内容.
这是错误消息.
期望返回的函数中缺少返回'(inserted:Bool,memberAfterInsert:Set.Element)'
什么可以解决这个问题.是否有更好的解决方案/方法来处理此操作?
我有2个阵列.说,array1 = [1,2,3,4,5]和array2 = [2,3].如果array1包含至少一个项目,我怎么能检查swift array2?
我需要过滤掉一组MyClass3对象.MyClass2对象的数组是MyClass3对象的成员(请参阅下面的代码).MyClass2对象有一个id.我手边有一个idArray.我需要过滤掉那些MyClass3对象,其中idArray中的所有id都存在于其[MyClass2]成员中.
class MyClass2 : NSObject {
    var uid: Int = 0
    init(uid : Int) {
        self.uid = uid
    }
}
class MyClass3 : NSObject {
    var arr: [MyClass2]
    init(units: [MyClass2]) {
        arr = units
    }
}
var units1 = [MyClass2(uid: 1),MyClass2(uid: 2), MyClass2(uid: 3), MyClass2(uid: 4), MyClass2(uid: 5)]
var units2 = [MyClass2(uid: 4),MyClass2(uid: 5), MyClass2(uid: 6)]
var units3 = [MyClass2(uid: 3),MyClass2(uid: 5), MyClass2(uid: 7), MyClass2(uid: 1)]
var ids = [1,5]
var available3: [MyClass3] = [MyClass3(units: units1), MyClass3(units: units2), MyClass3(units: units3)] …希望您度过愉快的一天。
我试图了解执行以下操作的最快方法是什么:
假设我有这两个Arrays:
var firstArray = ["a","b","c"]
var secondArray = ["a","d","e"]
我想得到以下输出:
1)位于 内部但不位于 中Array的对象。
1)位于 内部但不位于 中的对象。
3)和之间的共同对象。 firstArray  secondArrayArray secondArray  firstArrayArrayfirstArraysecondArray
所以基本上输出是:
1) ["b","c"]
2) ["d","e"]
3)["a"] 
这里的主要问题是了解什么是最有效的方法。非常感谢!
我有两个数组,我正在比较[Int]
let filter = strongAgainstArray.filter{weakAgainstArray.contains($0)}
这将返回2个数组中的公共值数组.然后我想通过并从每个数组中删除这些值,我正在这样做
for item in filter {
    for var i = 0; i < strongAgainstArray.count; i += 1 {
        if item == strongAgainstArray[i] {
            strongAgainstArray.removeAtIndex(i)
            print("Removing a Strong against index \(item)")
        }
    }
    for var i = 0; i < weakAgainstArray.count; i += 1 {
        if item == weakAgainstArray[i] {
            weakAgainstArray.removeAtIndex(i)
            print("Removing a Weak against index \(item)")
        }
    }
}
这工作正常,但我们可以说我的一个数组包含两个条目12作为示例.我如何只删除其中一个?目前,所有条目12都被完全删除.
编辑
我现在正在比较我的两个数组
let commonValues = Array(Set(strongAgainstArray).intersect(weakAgainstArray))
然后是commonValues每个数组中的那些
cleanStrongAgainstArray = …swift ×7
ios ×5
arrays ×4
set ×2
array-filter ×1
arraylist ×1
collections ×1
dictionary ×1
intersection ×1
iphone ×1
nsmutableset ×1
nspredicate ×1
objective-c ×1
performance ×1
sorting ×1
tuples ×1