gpt4 book ai didi

javascript - JS : Sort object array by creating a kind of map

转载 作者:行者123 更新时间:2023-12-03 03:42:52 26 4
gpt4 key购买 nike

我确实从 mongoDB 获取数据

Content.find({}).fetch()

因此有一个包含 1000 个文档的数组。每个文档都有一个category字段。

const data = [
{
title: 'Article 1',
category: 'cars'
},
{
title: 'Article 2',
category: 'vegetables'
}
]

现在我想显示一个列表,其中包含按类别组织的文档(为每个类别获取自己的列表)。我认为最好的方法是创建一张 map 。但我不知道该怎么做。

这就是我正在做的事情:

首先,我对类别进行了硬编码(知道这是我能做的最糟糕的事情)然后...

categories.map(category => {
return (<List data={data.filter(d => d.category === category)} />)
}

这样,我将浏览 30 个类别并对数据进行 30 次过滤。我认为从一开始就创建一种排序的数据集会更明智。

最佳答案

如果您更喜欢使用 lodash ,然后您可以使用 sortBy 对数据集进行排序

_.sortBy(data, ['category', 'title']);
data.map(doc => ( console.log(doc); ));

这将首先按类别升序对数据进行排序,然后按标题升序排序。或者,如果您想根据类别将项目分成数组,请使用 groupBy :

_.groupBy(data, 'category');
_.each(data, itemsByCategory => {
return <List data={itemsByCategory} />;
});

关于javascript - JS : Sort object array by creating a kind of map,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45535680/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com