我使用的是Myjson.slice(1, 20)
。我只需要20个来自Myjson
的项目,长度为2624
,在这段代码中,我试图像这样切片,但我不知道该怎么做才能使xxx
和yyy
之间的差异达到20:
let xxx = Math.floor(Math.random() * 2624 + 1);
let yyy = Math.floor(Math.random() * 2624 + 1);
{Myjson.slice(xxx, yyy).map((item) => (
<Link
href={item.ud}
key={item.id}
>
{item.test}
</Link>
))}
如何从这个JSON中获得20个随机项目?
2条答案
按热度按时间lnxxn5zx1#
在第一步中,你可以找到20个随机索引。然后用这些索引创建一个项目数组。最后,渲染20个项目。
brccelvz2#
解决办法很简单。
编辑1:修正Fisher-Yates shuffle