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

Codecademy JS高阶函数checkConsistentOutput练习无法通过求解

问题原因

你实现的checkConsistentOutput内部的变量声明、条件判断逻辑本身符合题目要求,无法通过测试的核心问题是最后一步的打印逻辑不符合要求:
题目明确要求最终需要调用你实现的高阶函数checkConsistentOutput(),传入两个参数(addTwo函数本身、任意测试数值),再打印这个调用的返回结果。但你写的console.log(addTwo(5));是直接调用原生的加2函数,完全没有触发checkConsistentOutput的校验逻辑,测试脚本检测不到目标函数的执行结果,自然判定不通过。
另外代码存在一处不规范细节:let checkB = func(val)行尾缺少分号,开启严格格式校验的测试环境可能将其判定为错误。

修正方案
  • 补全checkB声明语句的行尾分号
  • 将最后的打印语句改为调用checkConsistentOutput,注意传入addTwo时不要加括号(加括号会直接执行函数,把返回值当参数传入,不符合高阶函数接收回调引用的要求),第二个参数可以传任意数值。

修正后的完整可运行代码:

const addTwo = num => {
  return num + 2;
}

const checkConsistentOutput = (func, val) => {
  let checkA = val + 2;
  let checkB = func(val);
  if (checkA === checkB) {
    return func(val);
  } else {
    return 'inconsistent results';
  }
}

// 第二个参数传3、5等任意数值都可以
console.log(checkConsistentOutput(addTwo, 3));

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 09:39:57