搜索由 struct 创建的对象
Searching objects created by struct
我想搜索由 struct 创建的对象。
让我们假设这些是由 Candy
结构创建的对象。
candies = [
Candy(category:"Chocolate", name:"Chocolate Bar"),
Candy(category:"Chocolate", name:"Chocolate Chip"),
Candy(category:"Chocolate", name:"Dark Chocolate"),
Candy(category:"Hard", name:"Lollipop"),
Candy(category:"Hard", name:"Candy Cane"),
Candy(category:"Hard", name:"Jaw Breaker"),
Candy(category:"Other", name:"Caramel"),
Candy(category:"Other", name:"Sour Chew"),
Candy(category:"Other", name:"Gummi Bear")
]
如何在不创建两个数组并通过索引查找对象的情况下找到 "Lollipop" 元素的类别?
就是这个:
candies.first { [=10=].name == "Lollipop" }
如果您希望有多个 "Lollipop" 那么:
candies.filter { [=11=].name == "Lollipop" }
进行中:
13> struct Candy {
14. let cat: String
15. let name: String
16. }
17> var candies = [
18. Candy (cat: "Hard", name: "Lollipop"),
19. Candy (cat: "Hard", name: "Jaw Breaker")
20. ]
candies: [Candy] = 2 values {
[0] = {
cat = "Hard"
name = "Lollipop"
}
[1] = {
cat = "Hard"
name = "Jaw Breaker"
}
}
21> candies.first { [=12=].name == "Lollipop" }
$R1: Candy? = (cat = "Hard", name = "Lollipop")
22> candies.filter { [=12=].name == "Lollipop" }
$R2: [Candy] = 1 value {
[0] = {
cat = "Hard"
name = "Lollipop"
}
}
我想搜索由 struct 创建的对象。
让我们假设这些是由 Candy
结构创建的对象。
candies = [
Candy(category:"Chocolate", name:"Chocolate Bar"),
Candy(category:"Chocolate", name:"Chocolate Chip"),
Candy(category:"Chocolate", name:"Dark Chocolate"),
Candy(category:"Hard", name:"Lollipop"),
Candy(category:"Hard", name:"Candy Cane"),
Candy(category:"Hard", name:"Jaw Breaker"),
Candy(category:"Other", name:"Caramel"),
Candy(category:"Other", name:"Sour Chew"),
Candy(category:"Other", name:"Gummi Bear")
]
如何在不创建两个数组并通过索引查找对象的情况下找到 "Lollipop" 元素的类别?
就是这个:
candies.first { [=10=].name == "Lollipop" }
如果您希望有多个 "Lollipop" 那么:
candies.filter { [=11=].name == "Lollipop" }
进行中:
13> struct Candy {
14. let cat: String
15. let name: String
16. }
17> var candies = [
18. Candy (cat: "Hard", name: "Lollipop"),
19. Candy (cat: "Hard", name: "Jaw Breaker")
20. ]
candies: [Candy] = 2 values {
[0] = {
cat = "Hard"
name = "Lollipop"
}
[1] = {
cat = "Hard"
name = "Jaw Breaker"
}
}
21> candies.first { [=12=].name == "Lollipop" }
$R1: Candy? = (cat = "Hard", name = "Lollipop")
22> candies.filter { [=12=].name == "Lollipop" }
$R2: [Candy] = 1 value {
[0] = {
cat = "Hard"
name = "Lollipop"
}
}