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

布尔条件设置错误排查:affordItem函数逻辑问题咨询

问题分析与修复方案

你的代码存在几个关键问题,直接导致返回结果和预期完全相反:

核心错误点

  • 错误访问数组属性:items.fruits是一个数组,不能直接通过items.fruits.id或items.fruits.quantity获取属性,必须先定位到匹配itemId的具体水果对象
  • 属性名误用:给定数据里根本没有quantity字段,需要用price和用户的可支付额度count做比较
  • 逻辑判断失效:原代码的条件永远无法满足(数组本身没有id和quantity属性),所以始终返回false,和预期结果完全相反

修复后的代码

function affordItem(items, itemId) {
  // 找到对应id的水果对象
  const targetFruit = items.fruits.find(fruit => fruit.id === itemId);
  // 存在目标水果时,判断额度是否足够;不存在则返回false
  return targetFruit ? items.count >= targetFruit.price : false;
}

验证逻辑

  • 传入apple时,找到价格为50的苹果,100 >= 50,返回true,符合测试预期
  • 传入orange时,找到价格为200的橙子,100 < 200,返回false,符合测试预期

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 12:15:30