如何删除阵列中的另一个数组元素相匹配的元素 [英] How to remove elements from array that match elements in another array

查看:92
本文介绍了如何删除阵列中的另一个数组元素相匹配的元素的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何删除阵列匹配另一个数组元素的元素呢?

假设我们有通过它一个数组,我们循环,找出要删除的内容:

  VAR sourceItems = [...]
变种removedItems = [SKShapeNode]()对于项目:SKShapeNode在sourceItems {
    如果item.position.y> self.size.height {
        removedItems.append(项目)
        item.removeFromParent()
    }
}sourceItems - = removedItems //清楚,将无法正常工作。


解决方案

您可以使用过滤器功能。

  VAR一个= [1,2,3]
变种B = [2,3,4]a.filter {元素
    !包含(B,元素)
}

这将返回 [1]

退房的<一个href=\"https://developer.apple.com/library/$p$prelease/mac/documentation/General/Reference/SwiftStandardLibraryReference/Array.html#//apple_ref/doc/uid/TP40014608-CH5-SW46\">Swift标准库参考

How to remove elements from array that match elements in another array?

Assume we have an array and we loop through it and find out which elements to remove:

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.

解决方案

You can use the filter function.

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

a.filter { element in
    !contains(b, element)
}

This would return [1]

Check out the Swift Standard Library Reference

这篇关于如何删除阵列中的另一个数组元素相匹配的元素的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆