外卖餐具智能推荐

问题1

javascript 复制代码
// 智能推荐餐具数量
        const recommendedCount = computed(() => {
            // TODO :目标 1 待补充代码 Start
            // 初始化空数组
            let category = []
            // 初始化推荐餐具数为0
            let count = 0
            // 遍历当前已选中的菜品数组
            cartItems.value.forEach(item => {
                // 用for循环使每一份菜品都单独存入数组
                for (let i = 0; i < item.count; i++) {
                    category.push(item.category)
                }
            })
            // 用if语句判断菜品全是主食或全是热菜,则按照主食或热菜的数量赋值给推荐餐具数
            if ((category.includes('主食') && !category.includes('热菜')) || (!category.includes('主食') && category.includes('热菜'))) {
                count = category.length
            } else {
                // 若既有主食又有热菜
                // 则通过比较两者数量,数量较多的一者,赋值给推荐餐具数
                if (category.filter(item => item === '主食').length > category.filter(item => item === '热菜').length) {
                    count = category.filter(item => item === '主食').length
                } else if (category.filter(item => item === '主食').length < category.filter(item => item === '热菜').length) {
                    count = category.filter(item => item === '热菜').length
                }
            }
            // 输出推荐餐具数
            return count
            // TODO :目标 1 待补充代码 End
        });

问题2

javascript 复制代码
// 选择餐具模式
        const selectUtensilsMode = (mode) => {
            // TODO :目标 2 待补充代码 Start
            // 根据题目意思将选择模式赋值给utensilsMode
            utensilsMode.value = mode
            // 判断mode为auto或custom
            if (mode === 'auto') {
                // mode为auto时,
                // 给utensilsMode新赋值auto
                // 将 utensilsCount 设置为 recommendedCount
                utensilsMode.value = 'auto'
                utensilsCount.value = recommendedCount.value
            } else if (mode === 'custom') {
                // mode为custom时
                // 给utensilsMode新赋值custom
                // 将 utensilsCount 设置为 customUtensilsCount
                utensilsMode.value = 'custom'
                utensilsCount.value = customUtensilsCount.value
            }
            // TODO :目标 2 待补充代码 End
        };


// 选择具体餐具数量
        const selectUtensilsCount = (count) => {
            // TODO :目标 2 待补充代码 Start
            // 判断推荐餐具数为1、2、3时
            // 给 utensilsMode新赋值manual
            // 更新utensilsCount.value
            if (count === 1 || count === 2 || count === 3) {
                utensilsMode.value = 'manual'
                utensilsCount.value = count
            }
            // TODO :目标 2 待补充代码 End
        };


 <!-- TODO :目标 2 待补充代码 Start -->
                     <el-input-number v-model="utensilsCount" max=4 min=1></el-input-number>
<!-- TODO :目标 2 待补充代码 End -->
相关推荐
4SAPI5 分钟前
多模型API调用实战:一个项目接入GPT、Claude和DeepSeek
linux·人工智能·gpt·php
j7~12 分钟前
【仿 RabbitMQ 项目】发布订阅消息队列 (篇八):交换机数据管理模块,分层类设计、SQLite 回调原理与代码实现
服务器·网络·数据库·消息队列·交换机·交换机数据管理·sqlite回调原理
电梯界知识分子13 分钟前
浙江台州六层拆迁自建房:建房前期土建交底,规避薄墙预制板误区,预留轮椅通行电梯
运维·服务器·网络·安全·家用电梯
Escalating_xu14 分钟前
【Linux 网络编程】UDP Socket 编程(下):回调封装、网络字典与多线程聊天室
linux·网络·udp
看-是灰机14 分钟前
Milvus向量数据库
linux·运维·人工智能·机器学习·milvus
Amumu1213815 分钟前
NodeJs介绍
前端·node.js
咧咧小侠17 分钟前
Windows Codex 连接 Chrome 失败:一次 nodeRepl.fetch 报错排查记录
前端·chrome
下辈子不要当码农17 分钟前
Linux驱动学习(1)
linux·运维·学习
HelloWorld工程师17 分钟前
不改动任何历史配置,也能让 SSL 证书自动续期
linux·服务器·网络协议·https·ssl
Eider199819 分钟前
大模型输出格式幻觉解决思路
开发语言·前端·javascript