Arrays 在swift中比较两个长度不同的数组

Arrays 在swift中比较两个长度不同的数组,arrays,swift,Arrays,Swift,我想比较两个数组,并将不在另一个数组中的值附加到新数组中。现在的问题是,所有不等于另一个数组的值都已被追加,但我只希望追加另一个数组中的新值 我希望问题是清楚的。抱歉,如果这是一个非常模糊的问题。我想说清楚,哈哈。 代码和输出打印如下: // Iterate through all possible values for i in 0...messages.count-1{ var match = false for r in 0...self.messages.count-1

我想比较两个数组,并将不在另一个数组中的值附加到新数组中。现在的问题是,所有不等于另一个数组的值都已被追加,但我只希望追加另一个数组中的新值

我希望问题是清楚的。抱歉,如果这是一个非常模糊的问题。我想说清楚,哈哈。 代码和输出打印如下:

// Iterate through all possible values
for i in 0...messages.count-1{
    var match = false

    for r in 0...self.messages.count-1{
       println("NIEUWE" + messages[i].getID() + "OUDE" + self.messages[r].getID())


        if(messages[i].getID().toInt() == self.messages[r].getID().toInt()){

            var match = true

            println(match)
            break
        }


    }

    if (!match) {
        newArray.append(messages[i])
        println(newArray)
    }
}
输出:

NIEUWE170OUDE170
NIEUWE170OUDE171
true
[PostDuif.Message]
NIEUWE171OUDE170
true
[PostDuif.Message, PostDuif.Message]
NIEUWE172OUDE170
true
“我想将两个数组相互比较,并将不在另一个数组中的值附加到一个新数组”就是“设置差异”

var s1 = Set(["a", "b", "c"])   // this to be similar to your need
var s2 = Set(["b", "c", "d"])    
var s3 = s2.subtract (s1)
因此:

  9> var s3 = s2.subtract(s1)
s3: Set<String> = {
  [0] = "d"
}
9>var s3=s2.减法(s1)
s3:集合={
[0]=“d”
}

请注意,您在
集合
类型上有
减法
相交
并集
在位
选项作为方法。Swift 1.2的新增功能。

阵列的顺序已经相同,只是其中一个缺少一些元素?或者它们的顺序完全不同?数组的顺序重要吗?如果没有,把它们都变成集合,你就可以合并/相交它们了。数组最终是不有序的。新数组中的一个元素是随机添加的,需要附加到旧数组的最后一个索引中,这很有效!非常感谢你的帮助。现在可以进一步了解我的项目:)这不适用于,因为我有两个数组,其中包含string,并将结果存储在第三个数组中,该数组也是string类型。这不适用于我“[string]没有成员subtract”
subtract
集合
类型上的一个方法;不在
数组
类型上。[即使我说
Set([…])我也会被否决吗