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

JS数据转换方法运行失效,calcAverageHumanAge函数问题排查

问题排查与修复

错误点列表

  • 拼写错误:数组过滤方法filter被误写为fliter,缺少字母t,会直接抛出方法不存在的报错
  • 无返回值:函数内部计算得到平均年龄结果后没有执行return操作,调用函数时只会得到undefined

修复后的代码

const calcAverageHumanAge = function (ageList) {
  return ageList
    .map(val => (val <= 2 ? 2 * val : 16 + val * 4))
    .filter(val => val >= 18)
    .reduce((acc, val, i, list) => {
      return acc + val / list.length;
    }, 0);
};

如果你觉得累加时除以数组长度的写法不够直观,也可以改为先算所有成年狗年龄总和再除以长度,两种写法计算结果完全一致:

.reduce((acc, val) => acc + val, 0) / list.length

测试运行结果

  • 数据集1 [5, 2, 4, 1, 15, 8, 3] 运行结果:44
  • 数据集2 [16, 6, 10, 5, 6, 1, 4] 运行结果:≈47.33

内容的提问来源于stack exchange,提问作者PAPPI-HS

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 16:45:02