Как отфильтровать массив на основе свойства объекта с помощью нескольких операторов OR
2446 просмотра
1 ответ
Вопрос было трудно выразить словами, но вот моя ситуация. У меня есть несколько объектов Monster в массиве monsters
. У каждого монстра есть name
свойство String. У меня есть второй массив под названием monsterNames
, который содержит несколько имен монстров (в виде строк).
Я хочу иметь возможность фильтровать все объекты монстров в monsters
массиве на основе того, появляется ли свойство имени отдельного объекта монстров в monsterNames
массиве.
До сих пор я искал решения, я нашел только решения, которые фильтруют по одному условию, что позволяет фильтровать только по одному имени монстра в monsterNames
массиве. Кто-нибудь может помочь мне найти эффективное решение этой проблемы?
Ответы (1)
6 плюса
Вы могли бы сделать что-то вроде:
let monsters: [Monster] = ...
let monsterNames: [String] = ...
let filteredMonsters = monsters.filter { monsterNames.contains($0.name) }
Это не очень хорошо работает, так как он будет проходить по names
массиву до n
каждого раза для каждого монстра, но если ваши names
массивы малы, это не будет проблемой.
Вопросы из категории :
- arrays Как удалить дубликаты из массива C #?
- arrays Как определить размер моего массива в C?
- arrays Каков наилучший способ конвертировать массив в хеш в Ruby
- arrays Сравнение двухбайтовых массивов в .NET
- arrays Можно ли выполнять параллельные обходы в MATLAB так же, как в Python?
- arrays Haxe итерация на динамическом
- arrays .Net массивы с нижней границей> 0
- arrays Слияние двух массивов в .NET
- arrays Как удалить объекты из массива в Java?
- arrays ArrayList в Java и ввод
- swift Как я могу программным образом определить, работает ли мое приложение в симуляторе iphone?
- swift iOS: Convert UTC NSDate to local Timezone
- swift Как установить цель и действие для UIBarButtonItem во время выполнения
- swift Жирный и не жирный текст в одном UILabel?
- swift Найти касательную точки на кубической кривой безье
- swift Как я могу рассчитать разницу между двумя датами?
- swift How to get text / String from nth line of UILabel?
- swift Можно ли программно прокрутить до нужной строки в UIPickerView?
- swift Отключение клавиатуры в UIScrollView
- swift Как контролировать межстрочный интервал в UILabel