如何使用reduce函数获取用户的GitHub仓库总数

如何解决如何使用reduce函数获取用户的GitHub仓库总数?

开发过程中遇到如何使用reduce函数获取用户的GitHub仓库总数的问题如何解决?下面主要结合日常开发的经验,给出你关于如何使用reduce函数获取用户的GitHub仓库总数的解决方法建议,希望对你解决如何使用reduce函数获取用户的GitHub仓库总数有所启发或帮助;

问题描述

我正在尝试获取用户的存储库总数。这是我的代码如下:

Js

const url = "https://API.github.com/users/oyerohabib/repos?per_page=50";

const fetchRepos = async () => {
  response = await fetch(url);
  data = await response.Json();
  const newData = data.reduce((total,repo) => {
    const { language } = repo;
    if (language) {
      total += language;
    }
    return total;
  },0);
  console.log(newData);
};

fetchRepos();

这是我尝试后得到的结果 0CSSJavaScriptHTMLJavaScriptHTMLJavaScriptHTMLJavaScriptJavaScriptJavaScriptJavaScriptJavaScriptHTMLJavaScript

注意:我期望的是 13,这是语言的总数

解决方法

您只需要在每次看到一种语言时添加 1total

const response = await fetch(url);
const data = await response.json();
const newData = data.reduce((total,repo) => {
  const { language } = repo;
  if (language) {
    total += 1;
  }
  return total;
},0);

这将返回 14 并且确保我添加了一个包含所有语言的数组,如果您要将所有语言附加到一个数组中:

const results = [
  "CSS","JavaScript","HTML",];

编辑:

以下是获取数组中语言的方法

response = await fetch(url);
data = await response.json();
const newData = data.reduce((total,repo) => {
  const { language } = repo;
  if (language) {
    total.push(language)
  }
  return total;
},[]);
console.log(newData);

编程问答问答

在 CSS 中设置 cellpadding 和 cellspacing?
如何在 Java 中创建内存泄漏?
浮点数被破坏了吗?
按字符串属性值对对象数组进行排序
如何加快Android模拟器的速度?
如何舍入至多 2 位小数?
使用 Git 版本控制查看文件的更改历史记录
如何在 JavaScript 中检查空/未定义/空字符串?
微信公众号搜索 “ 程序精选 ” ,选择关注!
微信公众号搜 "程序精选"关注