我想将两个数组相互比较,并将不在另一个数组中的值附加到新数组中。现在的问题是,所有与另一个数组不相等的值都已经被追加,但我只希望附加另一个数组中的新值。
我希望问题很清楚。对不起,如果这是一个非常模糊的问题。哈哈,我试着说清楚。 代码和输出打印在下面:
// 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
答案 0 :(得分:2)
这个"我想比较两个数组,并将不在另一个数组中的值附加到一个新数组"只是设置差异'
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"
}
请注意,subtract
类型的方法为intersect
,union
和inPlace
Set
选项。 Swift 1.2的新功能。