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([…])我也会被否决吗