微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

arrays – 如何从数组中删除与另一个数组中的元素匹配的元素

如何从数组中删除与另一个数组中的元素匹配的元素?

假设我们有一个数组,我们遍历它并找出要删除的元素:

var sourceItems = [ ... ]
var removedItems = [SKShapeNode]()

for item : SKShapeNode in sourceItems {
    if item.position.y > self.size.height {
        removedItems.append(item)
        item.removeFromParent()
    }
}

sourceItems -= removedItems // well that won't work.

解决方法

您可以使用过滤功能.

let a = [1,2,3]
let b = [2,3,4]

let result = a.filter { element in
    return !b.contains(element)
}

结果将是[1]

或者更简洁……

let result = a.filter {!b.contains($0)}

查看Swift Standard Library Reference

或者您可以使用Set类型.

let c = Set<Int>([1,3])
let d = Set<Int>([2,4])
c.subtract(d)
@H_404_42@

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐