如何在数组对象中查找项目

How to find an item in an object of array

我有一个 ID 列表。我还有一个对象,其中包含如下结构的数据数组。

[
    foods(
        foodId: 345, 
        category: 10, 
        tools: [10], 
        name: "food name 1"
    ),

    foods(
        foodId: 191, 
        category: 4, 
        tools: [2], 
        name: "food name 2"
    ), 
]

在我的列表中我有列表 [345, 191]

我希望在提供 foodId 时有一种机制来访问对象的信息。

我让它与一个内循环和一个外循环一起工作。但我想知道是否有更简单的方法:

ForEach(foodDetails, id: \.self){ item in
    ForEach(self.foods.datas){ ex in
        if(ex.foodId == item){
            Text(ex.name)
    }
}

知道如何让它发挥作用吗?

提前致谢

您可以简单地获取第一个 ID 匹配的元素

let result = foodDetails.first(where: {[=10=].foodId == id})

 if let food = result {
        print(food.name ?? "") //if name is optional
        print(food.foodId)
        print(food.category)
    }

你得到的结果是食物吗?具有此 id

的可选结构