Javascript 试图使用';减少';而不是常规for循环

Javascript 试图使用';减少';而不是常规for循环,javascript,arrays,reduce,Javascript,Arrays,Reduce,我试图从特定用户的github repo中获取“stargazers\u count”总数。此代码使用“for”循环运行。但我想使用“reduce”。我正在发布我尝试过的内容。有人能指出我错在哪里吗? 可以使用您的github用户名使用此url查看JSON: ${您的用户名}/repos 这是使用for循环的工作代码: axios.get(response.data.repos_url) .then((res) => { let starCount = 0; for(

我试图从特定用户的github repo中获取“stargazers\u count”总数。此代码使用“for”循环运行。但我想使用“reduce”。我正在发布我尝试过的内容。有人能指出我错在哪里吗? 可以使用您的github用户名使用此url查看JSON:

${您的用户名}/repos

这是使用for循环的工作代码:

axios.get(response.data.repos_url)
  .then((res) => {

    let starCount = 0;
    for(let i=0; i<res.data.length; i++) // find out the total number of github stars
    {
        starCount += res.data[i].stargazers_count;
    }

      response.data.NoOfStars = starCount; // add the total stars as a property in response object

这不起作用。如果我能得到一个关于我错在哪里以及为什么错的简要解释,这将很有帮助。

您需要为累加器提供一个起始值,否则reduce将假定第一个数组元素是起始值,这将导致一个
NaN
结果

starCount = arr.reduce(reducer,0);

输出是什么?你期望它是什么?我期望它是一个数字,值取决于用户,例如Dan Abramov,星星数是1427。上次我试的时候。。我想我得了一个NaN。
starCount = arr.reduce(reducer,0);