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

如何使用reduce函数统计GitHub用户带有语言标识的仓库总数及代码问题修复

解决GitHub API获取带语言标识仓库总数的问题

嘿,我一眼就瞅出你代码里的问题啦!你现在得到的那串奇怪的拼接结果,根源是reduce的逻辑用错了——你把语言名称直接加到初始值为0的total上,JS里数字和字符串相加会自动做隐式转换变成字符串拼接,所以最后才会出现0CSSJavaScript...这种不想要的结果。

要统计带语言标识的仓库总数,其实很简单:只要遇到仓库的language字段存在时,把计数加1就行,而不是把语言名称加进去。这里给你修正后的代码:

const url = "https://api.github.com/users/oyerohabib/repos?per_page=50";
const fetchRepos = async () => {
  // 记得给变量加const声明,别不小心用了全局变量哦
  const response = await fetch(url);
  const data = await response.json();
  const repoCountWithLanguage = data.reduce((total, repo) => {
    // 仓库有language标识就把计数+1,否则保持原数值
    return repo.language ? total + 1 : total;
  }, 0);
  console.log(repoCountWithLanguage); // 这里就能输出你想要的13啦
};
fetchRepos();

顺便提个小细节:你原来的代码里response和data没加变量声明,会变成全局变量,这是个容易踩的小坑,所以我帮你加上了const来限定作用域。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 11:13:13