У меня есть массив пользовательских объектов, имеющих значения ID в качестве свойств. Теперь у меня есть другой массив выбранных объектов (выбранных по идентификаторам). Как я могу получить индексы первого массива путем фильтрации по выбранным идентификаторам (второй массив)?
Я бы хотел избежать зацикливания и думать о решении, использующем compactMap
или подобное.
struct MyObject {
var ID: Int
var name: String
}
let myObjects = [
MyObject(ID: 3, name: "AAAA"),
MyObject(ID: 5, name: "BBBB"),
MyObject(ID: 12, name: "CCCC"),
MyObject(ID: 15, name: "DDDD"),
MyObject(ID: 20, name: "EEEE"),
MyObject(ID: 21, name: "GGGG"),
MyObject(ID: 22, name: "HHHH"),
MyObject(ID: 23, name: "IIII"),
]
let selectedIds = [5, 20, 23]
// How to get an array of indices for selectedIds
// Expected result [1, 4, 7]