Как найти массив, содержащий элементы структуры в Swift?

Довольно легко найти элемент в массиве с типом String, Int и т.д.

var States = ["CA", "FL", "MI"]
var filteredStates = States.filter {$0 == "FL"} // returns false, true, false

Теперь я создал структуру

struct Candy{
    let name:String
}

а затем инициализировал его

var candies =  [Candy(name: "Chocolate"),
Candy(name: "Lollipop"),
Candy(name: "Caramel")]

Кто-нибудь может предложить правильный способ найти "Шоколад" в массиве, содержащем элементы структуры? Я не могу реализовать метод поиска или фильтра.

Ответы

Ответ 1

С помощью следующего кода вы получаете все конфеты-структуры в массиве, которые соответствуют "Chocolate".

var candiesFiltered = candies.filter{$0.name == "Chocolate"}

Если вам просто нужно логическое значение, если оно было найдено, вы можете использовать следующий код:

var found = candies.filter{$0.name == "Chocolate"}.count > 0