2014-09-04 94 views
16

這是一種非常簡單的找到類型爲字符串,整數數組中的元素,等等如何在Swift中搜索包含struct元素的數組?

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")] 

任何人都可以請建議在包含結構元素的數組中找到「巧克力」的正確方法?我無法實現查找或過濾方法。

回答

25

通過以下代碼,您將收到陣列中所有與"Chocolate"匹配的糖果結構。

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

如果你只是想要一個布爾值,如果已經發現與否,你可以使用下面的代碼:

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

酷。謝謝爲我工作! – 2014-09-04 12:42:54

+2

自從閉包'追蹤'以後,語法可以簡化爲'filter {$ 0.name == ...}'。 – GoZoner 2014-09-04 14:49:39

+0

感謝GoZoner,我已經更新了答案。 – Prine 2014-09-04 15:38:34

相關問題