我想将两个数组相互比较,并将不在另一个数组中的值追加到新数组中。现在的问题是,所有不等于另一个数组的值已经被追加,但我只想要追加另一个数组中的新值。快速比较两个数组,长度不同
我希望问题很清楚。对不起,如果这是一个非常模糊的问题。我试图清楚哈哈。 代码和输出打印以下:
// 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
该数组已经在相同的顺序,只有一个是缺少一些元素?或者他们可能会完全不同的命令? – 2015-04-04 14:23:52
数组的顺序是否重要?如果没有,将它们都转换为集合,你可以联合/相交它们。 – Tim 2015-04-04 14:35:40
数组最终不按顺序排列。新阵列中的一个元素随机添加,并且需要附加到旧阵列的最后一个索引 – 2015-04-04 14:45:58