这个问题很难用语言表达,但这是我的情况。我在一个名为的数组中有几个 Monster 对象monsters
。每个怪物都有一个name
属性是一个字符串。
我有第二个数组称为monsterNames
,其中包含几个怪物名称(作为字符串)。
我希望能够过滤其中的所有怪物对象monsters
根据单个怪物对象的 name 属性是否出现在数组中monsterNames
array.
到目前为止,我一直在寻找解决方案,我只找到了基于单个条件进行过滤的解决方案,这使我只能根据monsterNames
大批。有人能帮我找到一个有效的解决方案吗?
你可以这样做:
let monsters: [Monster] = ...
let monsterNames: [String] = ...
let filteredMonsters = monsters.filter { monsterNames.contains($0.name) }
这表现得不太好,因为它会超过names
数组最多n
每个怪物的时间,但如果你names
数组很小,这不会有问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)