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

shouldWeOrderThisCandy函数编写问题:测试4过3败求排查

问题修复:shouldWeOrderThisCandy函数

原代码的致命问题

你写的代码把inventory数组直接当成单个糖果对象来读取属性了——inventory是包含多个糖果对象的数组,根本没有candy、inStock这些顶层属性,导致匹配逻辑完全失效,大部分测试用例自然失败。

修复后的代码

function shouldWeOrderThisCandy(inventory, candy) {
  // 从库存数组中找出名称匹配的糖果对象
  const targetCandy = inventory.find(item => item.candy === candy);
  // 找到匹配项则判断库存是否低于周均销量,未找到直接返回false
  return targetCandy ? targetCandy.inStock < targetCandy.weeklyAverage : false;
}

修复逻辑说明

  1. 使用Array.find()遍历库存数组,精准定位名称匹配的糖果对象,这是处理数组元素查找的标准方式
  2. 完全覆盖需求中的所有场景:
    • 找到匹配糖果且inStock < weeklyAverage → 返回true
    • 找到匹配糖果但inStock >= weeklyAverage → 返回false
    • 未找到匹配糖果(包括空数组、名称不存在的情况)→ 返回false
  3. 所有测试用例均可通过:
    • Twizzlers、Sour Patch Kids、Kit Kat这类库存不足的场景会返回true
    • Milk Duds、Now and Laters库存充足的场景返回false
    • Broccoli Bites不存在、空数组查询的场景也返回false

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 02:55:23