Javascript ES6减少返回1个数组项而不是2个数组项

Javascript ES6减少返回1个数组项而不是2个数组项,javascript,arrays,ecmascript-6,Javascript,Arrays,Ecmascript 6,我最近一直在玩reduce函数。我遇到了这个问题,我的函数只从reduce返回一个数组项,而不是2个(数组中有2个项) 这是我的职责: const pages = await getPosts.reduce((post) => { const postRoutes = { [`/blog/${post.slug}`]: { page: "/blog/post", query: { 'postSlug': post.slug } } };

我最近一直在玩reduce函数。我遇到了这个问题,我的函数只从reduce返回一个数组项,而不是2个(数组中有2个项)

这是我的职责:

const pages = await getPosts.reduce((post) => {

  const postRoutes = {
    [`/blog/${post.slug}`]: {
      page: "/blog/post",
      query: { 'postSlug': post.slug }
    }
  };

  return postRoutes;

});
的回调采用两个参数:累加器和当前值。您需要将累积的数据和新数据分散开来

它还将初始值作为第二个参数,在本例中为空对象

const-example=[{slug:'alpha'},{slug:'beta'}]。reduce((posts,post)=>{
常量postRoutes={
[`/blog/${post.slug}`]:{
页面:“/blog/post”,
查询:{'postslaug':post.slug}
}
};
返回{…posts,…postRoutes};
}, {});
console.log(示例)的回调采用两个参数:累加器和当前值。您需要将累积的数据和新数据分散开来

它还将初始值作为第二个参数,在本例中为空对象

const-example=[{slug:'alpha'},{slug:'beta'}]。reduce((posts,post)=>{
常量postRoutes={
[`/blog/${post.slug}`]:{
页面:“/blog/post”,
查询:{'postslaug':post.slug}
}
};
返回{…posts,…postRoutes};
}, {});

console.log(示例)
From MDN:“
reduce()
方法对累加器和数组中的每个元素(从左到右)应用一个函数以将其减少为单个值。”听起来您可能想使用不同的方法,如
reduce()
用于将数组缩减为一个值。请转到并阅读有关缩减的内容。您没有正确地使用它hi@dileet,请您给出一些示例,说明getPosts方法中的posts数据和您的预期结果。也许,你想使用
.map
而不是
.reduce
。我同意@bhoo day的观点,因为你似乎在追求
而不是
reduce()
:“map()
方法创建一个新数组,其结果是对调用数组中的每个元素调用一个提供的函数。”@bhoo day我尝试了.map,但它给了我一个数组。我需要一个像
{'/blog/testpost':{page:'/blog/post',query:{postslaug:'testpost'}}'/blog/testpostwoo':{page:'/blog/post',query:{postslaug:'testpostwot'}}
来自MDN:
reduce()
方法对累加器和数组中的每个元素应用函数(从左到右)将其减少为单个值。”听起来您可能想使用不同的方法,因为当您想将数组减少为一个值时,会使用
reduce()
。请转到并阅读有关reduce的内容。您没有正确地使用它hi@dileet,请您给出一些示例,说明getPosts方法中的posts数据和您的预期结果。也许,你想使用
.map
而不是
.reduce
。我同意@bhoo day的观点,因为你似乎在追求
而不是
reduce()
:“map()
方法创建一个新数组,其结果是对调用数组中的每个元素调用一个提供的函数。”@bhoo day我尝试了.map,但它给了我一个数组。我需要一个像
{'/blog/testpost':{page:'/blog/post',query:{postslagu:'testpost'}}}'/blog/testpostwoo':{page:'/blog/post',query:{postslagu:'testpostwot'}}
是的!非常感谢。对非常感谢。