【发布时间】:2021-03-16 04:09:45
【问题描述】:
我有一个小问题。我有两个数组,我试图在其中找到相同的内容。所以我决定将它转换为一个集合,然后使用那些带有“减法”的好函数。但是我得到了非常不同的结果。有人能告诉我为什么会这样吗?当我使用“减法”而不是“减法”时,我没有遇到任何问题,但这对我来说很奇怪,我真的不知道为什么会发生这种情况。
var objectIDsWhichExist = [ "kjugsJHL6JYoByOreUQ0wUefsbX2", "18ixZ21PJDXA1WzeJqZzctl7tTk2", "ZeQPYGfDvWMLSVykb4M5FQ6miGX2"]
var helperObjectIDsWhichExistInAdded = [ "kjugsJHL6JYoByOreUQ0wUefsbX2", "18ixZ21PJDXA1WzeJqZzctl7tTk2"]
var setA = Set(objectIDsWhichExist) /* Updated Data*/
var setB = Set(helperObjectIDsWhichExistInAdded) /* Standard Data*/
let different = setA.subtract(setB) // I GET HERE ()
print(different) // I GET THIS RESULT "()\n"
令人惊讶的是,这是一个有效的示例。但是我还是不知道为什么???
var employees: Set = Set(objectIDsWhichExist)
let neighbors: Set = Set(helperObjectIDsWhichExistInAdded)
employees.subtract(neighbors)
print(employees) // HERE IT DOES WORK because i get this -> ["ZeQPYGfDvWMLSVykb4M5FQ6miGX2"]\n"
【问题讨论】:
标签: arrays swift set intersection hashable