我试图在映射数组时提取数组的长度。
这是发生的事情:
首先,我有一个对象数组。每个对象都有一个帖子键,我在其中存储该对象的帖子。我的代码从所有对象中获取所有帖子并将它们映射到一个新数组,以便我可以将所有对象中的所有帖子显示给前端的用户。
我想一次只显示 10 个帖子。所以我放了一个.slice(0, page * 10)- 变量页面是由页面底部的一个按钮控制的。如果用户点击按钮,页面就会增加屏幕上的帖子数量。
这一切都很好。但是 - 我希望能够计算帖子的总数,并且只有在有更多帖子可用时才显示按钮。有没有办法提取帖子数量,同时仍然允许它映射下面这个函数的结果?
{
bandTypes === "all"
? allBands
.filter(band => {
if (showType !== 'Show Type') {
return band.showTypes.includes(showType)
} else {
return band
}
})
.reduce(
(allPosts, band) =>
allPosts.concat(
(band.youtube.length > 0 &&
band.bandBio !== "n/a" &&
band.bandGenre !== "n/a")
? band.posts.map((post) => ({ post, band }))
: []
),
[]
)
.sort((a, b) => new Date(b.post.date) - new Date(a.post.date))
.slice(0, page * 10)
.map(({ post, band }) => <div key={uuidv4()}>{convertPost(post, band)}</div>)
: null
}
如果我能在某处放置一个匿名函数将状态设置为数组的长度,那就太好了。