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

丹尼

我有一个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: {$0.foodId == id})

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

结果你得到的是食物?具有此ID的可选结构

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章