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

如何编写reduce回调函数统计数组中JavaScript和Python开发者数量

原代码问题说明

你写的代码存在几处核心错误,无法得到预期结果:

  • reduce回调没有接收累计器、当前遍历项这两个必要参数
  • 错误直接访问数组本身的language属性(数组不存在该属性,只有数组内的单个开发者对象才有language字段)
  • 初始值设置错误:要求最终返回对象,初始值应该是带两个计数键、初始值为0的对象,而不是字符串'python'
  • 条件判断逻辑完全不符合需求,既不能同时识别两种语言,也无法完成计数累加

正确实现代码

const devLanguageCounts = developersArray.reduce((acc, curr) => {
  if (curr.language === 'javascript') {
    acc.JavaScript++
  } else if (curr.language === 'python') {
    acc.python++
  }
  // 每次遍历必须返回累计器,供下一轮计算使用
  return acc
// 初始值:两个语言的计数默认从0开始
}, { JavaScript: 0, python: 0 })

console.log(devLanguageCounts) 
// 输出:{ JavaScript: 4, python: 3 } 完全符合要求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 23:06:05