You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于食材分类属性正确判断餐品是否为素食?

问题修复:素食菜品判断逻辑错误

问题根源

当前代码存在核心逻辑错误:

  • ingredients是食材数组,而非单个食材对象,直接访问ingredients.category会得到undefined,导致所有判断完全失效
  • isVegetarian的逻辑应该是:只要食材中存在任何一个meat分类的食材,就返回false(非素食),否则返回true
  • isDelicious的逻辑同理:只要食材中存在cheese分类的食材,就返回true

修复后的代码

const createNewMeal = (name, ingredients) => {
    return {
        name,
        ingredients,
        isVegetarian() {
            // 检查数组中是否有任何食材的category是meat,有则返回false
            return !ingredients.some(ingredient => ingredient.category === "meat")
        },
        isDelicious() {
            // 检查数组中是否有任何食材的category是cheese,有则返回true
            return ingredients.some(ingredient => ingredient.category === "cheese")
        },
    }
}
export default createNewMeal

代码说明

  • 使用数组的some()方法遍历食材:该方法会检查数组中是否存在至少一个符合条件的元素,返回布尔值
  • isVegetarian中用!取反:如果存在meat食材,some()返回true,取反后得到false(非素食);反之返回true(素食)
  • isDelicious直接返回some()的结果:存在cheese食材则返回true,否则false

内容的提问来源于stack exchange,提问作者user19444313

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 04:35:28